表示数组或集合中的数据以进行迭代

时间:2013-05-14 07:41:23

标签: c# string class collections

非常基本的问题......我有记录

| fname | lname | designation | comment |
| a     | aa    | aaa         | aaaa    |
| b     | bb    | bbb         | bbbb    |
| c     | cc    | ccc         | cccc    |

我需要在循环中迭代所有这些...一个方法是我创建一个类并创建其对象的数组,以便我可以迭代...像这样

class Person
{
    string fname {set; get;}
    string lname {set; get;}
    string designation {set; get;}
    string comment {set; get;}
}

Person [] person = new Person[3];

for(int x = 0; x < 3; x++)
{
   person[x].fname = "asd";
}

还有其他我可以制作字符串或某些集合的地方,我不需要上课......

4 个答案:

答案 0 :(得分:2)

c# anonymous types可能是您的选择。

var v = new { Amount = 108, Message = "Hello" };
Console.WriteLine(v.Amount + v.Message);

答案 1 :(得分:0)

您可以使用Tuples - 尽管使用类有更多好处,因为它会适当地抽象出“人物”信息。

答案 2 :(得分:0)

您还可以使用Dictionary类:

List<Dictionary<string, string>> records = new List<Dictionary<string, string>>();
records.Add(new Dictionary<string, string>());
records[0]["fname"] = "name";

答案 3 :(得分:0)

在静态类型语言中,它的方式就是:为数据对象定义新类(通常作为POCO)。

在其他一些静态类型的语言中,正确的元组 - 比如F# - 我会说你可以使用一个元组。但C#中的Tuple只是一个蠢货,让你的代码变得丑陋而难以理解(什么是e.Item1?)。

或者你可以通过使用ExpandoObject或更好的ElasticObject来完全动态化!因为我认为你是以动态编程背景来到C#而我认为你会喜欢它。但是我不鼓励你使用它。因为它与静态类型语言的设计形成鲜明对比。