C# 将列表中的多个元素添加到数组

C# 将列表中的多个元素添加到数组,c#,asp.net,arrays,list,arraylist,C#,Asp.net,Arrays,List,Arraylist,我有一个包含多个变量的列表,希望将写入文本文件添加到数组中 class DataFields { public string name{get;set;} public int id{get;set;} public int age{get;set;} } List<DataFields> dfList; 我希望结果显示在类似于上面列表的文本文件中,但我在将列表添加到数组中然后按该顺序显示时遇到问题。有什么想法吗?文件。WriteAllines需要

我有一个包含多个变量的列表,希望将写入文本文件添加到数组中

class DataFields
{
     public string name{get;set;}
     public int id{get;set;}
     public int age{get;set;}
}

List<DataFields> dfList; 

我希望结果显示在类似于上面列表的文本文件中,但我在将列表添加到数组中然后按该顺序显示时遇到问题。有什么想法吗?

文件。WriteAllines
需要一组字符串。您可以使用LINQ生成一个:

List<DataFields> dfList = new List<DataFields>();
// populate dfList here

var formattedData = 
     dfList
        .OrderBy(df => df.Name)
        .Select(df => string.Format("{0} {1} {2}", df.Name, df.Id, df.Age));

File.WriteAllLines(@"C:\File\TextFile.txt", formattedData);
List-dfList=新列表();
//在此处填充dfList
var formattedData=
数据列表
.OrderBy(df=>df.Name)
.Select(df=>string.Format(“{0}{1}{2}”,df.Name,df.Id,df.Age));
writeAllines(@“C:\File\TextFile.txt”,formattedData);

您应该使用PascalCase作为属性名称(名称、Id、年龄)。

文件。WriteAllines
需要一组字符串。您可以使用LINQ生成一个:

List<DataFields> dfList = new List<DataFields>();
// populate dfList here

var formattedData = 
     dfList
        .OrderBy(df => df.Name)
        .Select(df => string.Format("{0} {1} {2}", df.Name, df.Id, df.Age));

File.WriteAllLines(@"C:\File\TextFile.txt", formattedData);
List-dfList=新列表();
//在此处填充dfList
var formattedData=
数据列表
.OrderBy(df=>df.Name)
.Select(df=>string.Format(“{0}{1}{2}”,df.Name,df.Id,df.Age));
writeAllines(@“C:\File\TextFile.txt”,formattedData);

您应该使用PascalCase作为属性名称(名称、Id、年龄)。

您也可以这样做

List<DataFields> dfList = new List<DataFields>();
    // populate dfList here
    StreamWriter sw = new StreamWriter(@"C:\File\TextFile.txt");

            foreach (DataFields df in dfList)
            {
                sw.WriteLine(df.id+"\t"+df.name+"\t"+df.age);
            }

            sw.Close();

你也可以这样做

List<DataFields> dfList = new List<DataFields>();
    // populate dfList here
    StreamWriter sw = new StreamWriter(@"C:\File\TextFile.txt");

            foreach (DataFields df in dfList)
            {
                sw.WriteLine(df.id+"\t"+df.name+"\t"+df.age);
            }

            sw.Close();

可能需要制表符/逗号分隔。单空格分隔可能会造成困难,不是吗?甚至制表符分隔也可能会造成困难-如果需要更结构化的内容,那么LINQ到XML将是一个更好的选择。如果它只是转储到Excel,则不会。然后,CSV/Tab分隔符可以在本机执行此操作,而无需额外努力。是的,如果OP需要不同的格式,则可以更改字符串格式。从描述中看不清楚。格式将是一个小问题。这对于我希望完成的事情来说是完美的。谢谢你们的意见!可能需要制表符/逗号分隔。单空格分隔可能会造成困难,不是吗?甚至制表符分隔也可能会造成困难-如果需要更结构化的内容,那么LINQ到XML将是一个更好的选择。如果它只是转储到Excel,则不会。然后,CSV/Tab分隔符可以在本机执行此操作,而无需额外努力。是的,如果OP需要不同的格式,则可以更改字符串格式。从描述中看不清楚。格式将是一个小问题。这对于我希望完成的事情来说是完美的。谢谢你们的意见!
dfList.ForEach(df=> sw.WriteLine(df.id + "\t" + df.name + "\t" + df.age));