C#Java问题,String to Array to String

时间:2014-11-19 11:43:14

标签: java c# string arrays

我正在尝试将字符串转换为数组,然后再将字符串转换回字符串。我试图在C#中实现这一点,但因为我有一段时间没有完成C#我遇到了问题。我用Java创建了以下代码,它工作正常:

String sHtml = "test1\r\ntest2\r\ntest3\r\ntest4\r\ntes5t\r\ntest6\r\ntest7\r\ntest8\r\ntest9\r\ntest10\r\ntest11\r\ntest12\r\ntest13\r\ntes14t\r\n";

    int temp = 0;
    List<String> emailText = new ArrayList<String>();

    for(int x = 0; x<sHtml.length();x++){
        if(sHtml.charAt(x)=='\n'){
            emailText.add(sHtml.substring(temp, x));
            temp = x;
        }
    }

    String testingString="";

    for(String words:emailText){
        //System.out.println(words);
        testingString+=words;


    }

    System.out.println(testingString);

这在Java中运行良好。以下代码是我对C#的代码:

int temp = 0; 
List<string> emailText = new List<string>();   

for (int x = 0; x < sHtml.Length; x++) 
{ 
    if (sHtml[x].Equals("\\n")) 
    { 
        emailText.Add(sHtml.Substring(temp, x)); 
        temp = x; 
    } 
    else 
    { 
    } 
} 
string testingString = ""; 
//sHtml = string.Join("\r\n", emailText.ToArray()); 
foreach (String word in emailText) 
{ 
     testingString += word; 
}

Console.WriteLine(testingString);

java代码输出正常但我没有得到C#代码的输出。我有一种感觉我错过了C#代码中的小东西,但我不确定是什么,有人可以帮忙吗?

提前致谢

5 个答案:

答案 0 :(得分:2)

您没有在C#中输出,因为您没有输出任何内容:-)如果不添加C#等效项,则省略了Java System.out.println语句:

Console.WriteLine(testingString);
BTW:一旦用C#代码替换Java代码,你也可以利用.NET框架的功能(正如其他人已经提到的那样)。这样您就可以将程序缩减到一行:

Console.WriteLine(string.Join(string.Empty, sHtml.Split('\n')));

答案 1 :(得分:1)

试试这个:虽然我建议使用字符串构建器来处理更大的字符串,因为它们是不可变的。

        string yourString = "this,is,a,example,string";
        string newString = "";

        string[] array = yourString.Split(',');

        foreach (string s in array)
        {
            newString += s;
        }

        Console.WriteLine(newString);

答案 2 :(得分:1)

为什么不使用它来分割字符串:

        string[] List = sHtml.split("\\n");   

这是用字符串的arraylist做某事来做某事:

        for (String s in List){ 
                //Do something with each separate String s
            } 

答案 3 :(得分:1)

为什么不使用拆分和加入?

var arr = str.Split('\n');
var newStr = string.Join("", arr);

答案 4 :(得分:0)

你的'for'循环有两个错误 - 你应该保留字符'\ n'而Java'substring'与.NET'Peltring'没有相同的第二个参数,所以你需要调整:< / p>

for (int x = 0; x < sHtml.Length;x++)
{
    if (sHtml[x] == '\n')
    {
        emailText.Add(sHtml.Substring(temp, x - temp));
        temp = x;
    }
}