Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 拆分列表<;字符串>;项目并将其格式化_C#_.net_String_List_Stringbuilder - Fatal编程技术网

C# 拆分列表<;字符串>;项目并将其格式化

C# 拆分列表<;字符串>;项目并将其格式化,c#,.net,string,list,stringbuilder,C#,.net,String,List,Stringbuilder,我有一个列表,它在一个循环中充满了这样的内容: myList.Add("john,smith,50,actor"); 显然我只是写了纯字符串,它们实际上是一些变量。现在我想做的是使用Stringbuilder和StringWriter将其导出到文本文件中,我认为我可以管理它(已经做了类似的事情) 因此,我希望我的文本文件如下所示: NAME SURNAME AGE WORK john smith 50 actor String[] s

我有一个列表,它在一个循环中充满了这样的内容:

myList.Add("john,smith,50,actor");
显然我只是写了纯字符串,它们实际上是一些变量。现在我想做的是使用Stringbuilder和StringWriter将其导出到文本文件中,我认为我可以管理它(已经做了类似的事情)

因此,我希望我的文本文件如下所示:

NAME    SURNAME      AGE      WORK
john    smith        50       actor
String[] strings = myList[i].Split(',');
for(int i = 0; i < strings.Count; i++)
{
    file.Write(strings[i] + " ");
}

等等。您能帮我找出这种情况下的foreach循环吗?

您可以将它们拆分为如下字符串:

NAME    SURNAME      AGE      WORK
john    smith        50       actor
const string Format = "{0,-10} {1,-10} {2,-10} {3,-10}";

var myList = new List<string>();
myList.Add("john,smithhh,50,actor");
myList.Add("a,b,c,d");

var res = myList.Select(i => i.Split(','));

Console.WriteLine(Format, "NAME", "SURNAME", "AGE", "WORK");
foreach (var line in res)
{
    Console.WriteLine(Format, line[0], line[1], line[2], line[3]);
}
String[] strings = myList[i].Split(',');
for(int i = 0; i < strings.Count; i++)
{
    file.Write(strings[i] + " ");
}
然后,像这样单独获取它们:

NAME    SURNAME      AGE      WORK
john    smith        50       actor
String[] strings = myList[i].Split(',');
for(int i = 0; i < strings.Count; i++)
{
    file.Write(strings[i] + " ");
}
for(int i=0;i
以下是如何创建我们或您的
列表的文本文件:


由于已经有分隔符(“,”),因此可以直接执行以下操作以获得更好的性能,无需转换:

var result = new StringBuilder();
result.AppendLine("NAME\tSURNAME\tAGE\tWORK");
myList.ForEach(i => result.AppendLine(i.Replace(",", "\t")));
System.IO.File.WriteAllText("foo.txt", result.ToString());

下面的代码是正确的,但是添加“-”并不好,您应该在拆分的字符串“tab”之间插入