C# 向列表中添加新值将保留以前值的一部分

C# 向列表中添加新值将保留以前值的一部分,c#,list,split,C#,List,Split,我已从url中获得以下表单中的字符串: 450,2277,687005562 13331,99,21042886 8023,99,21054328 当我尝试将值添加到如下列表中时: List<string> splitted = new List<string>(); string fileList = results; string[] tempStr; tempStr = fileList.Split(new Char[] {'\n',','}); int j =

我已从
url
中获得以下表单中的字符串:

450,2277,687005562
13331,99,21042886
8023,99,21054328
当我尝试将值添加到如下列表中时:

List<string> splitted = new List<string>();
string fileList = results;
string[] tempStr;
tempStr = fileList.Split(new Char[] {'\n',','});
int j = 0;
foreach (string item in tempStr)
{
    if (!string.IsNullOrWhiteSpace(item))
    {
        splitted.Add(item);
        Console.Write(splitted[j]);
        Console.ReadKey();
        j++;
    }
}
List splitted=新列表();
字符串fileList=结果;
字符串[]tempStr;
tempStr=fileList.Split(新字符[]{'\n',','});
int j=0;
foreach(tempStr中的字符串项)
{
如果(!string.IsNullOrWhiteSpace(项))
{
拆分。添加(项目);
Console.Write(拆分[j]);
Console.ReadKey();
j++;
}
}
我得到的结果是:

450、2277、687005562,然后是133315562,它是13331和前一个数字的最后几位的组合,因为它更长

如何将每个值添加到其单元格中


谢谢。

这是因为您使用的是Write()而不是WriteLine()

试试这个

List<string> splitted = new List<string>();
string fileList = results;
string[] tempStr;

tempStr = fileList.Split(new Char[] {'\n',','});
int j = 0;
foreach (string item in tempStr)
{
    if (!string.IsNullOrWhiteSpace(item))
    {
        splitted.Add(item);
        Console.WriteLine(splitted[j]);
        Console.ReadKey();
        j++;
    }
}
List splitted=新列表();
字符串fileList=结果;
字符串[]tempStr;
tempStr=fileList.Split(新字符[]{'\n',','});
int j=0;
foreach(tempStr中的字符串项)
{
如果(!string.IsNullOrWhiteSpace(项))
{
拆分。添加(项目);
控制台写入线(拆分[j]);
Console.ReadKey();
j++;
}
}

您将所有输出写入同一行,因此每一行都与前一行重叠。试着在Write()的sead中使用WriteLine(),你就会明白我的意思了。这就成功了..谢谢你的朋友。@BBen记住你可以简化一下你的逻辑:
List splitted=fileList.Split(new Char[]{'\n',','}).ToList()
这将直接为您提供一个列表,而不是移动到temp变量
tempStr
中,或仅:
results.Split('\n',',')).ToList().ForEach(Console.WriteLine)