字符串到数组到字符串的 C# Java 问题

本文关键字:字符串 Java 问题 数组 | 更新日期: 2023-09-27 18:31:12

我正在尝试将字符串转换为数组,然后再次转换为字符串。我正在尝试在 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# 代码中缺少一些小东西,但我不确定是什么,有人可以帮忙吗?

提前致谢

字符串到数组到字符串的 C# Java 问题

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

Console.WriteLine(testingString);

顺便说一句:一旦你用C#代码替换了Java代码,你也可以利用.NET框架的功能(正如其他人已经提到的)。这样,您可以将程序减少到一行:

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

试试这个: 尽管我建议对较大的字符串使用字符串生成器,因为它们是不可变的。

        string yourString = "this,is,a,example,string";
        string newString = "";
        string[] array = yourString.Split(',');
        foreach (string s in array)
        {
            newString += s;
        }
        Console.WriteLine(newString);

你为什么不用它来拆分字符串:

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

这要对字符串的数组列表做一些事情来做一些事情:

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

为什么不使用 split and join?

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

你的 'for' 循环有 2 个错误 - 你应该保留字符 ''' 和 Java 'substring' 没有与 .NET 'Substring' 相同的第二个参数,所以你需要调整它:

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