1

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

| 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

4 回答 4

2

c# 匿名类型可能是您的选择。

var v = new { Amount = 108, Message = "Hello" };
Console.WriteLine(v.Amount + v.Message);
于 2013-05-14T07:44:40.890 回答
0

您可以使用元组- 尽管使用类有更多好处,因为它适当地抽象了“人员”信息。

于 2013-05-14T07:45:19.853 回答
0

您还可以使用Dictionary该类:

List<Dictionary<string, string>> records = new List<Dictionary<string, string>>();
records.Add(new Dictionary<string, string>());
records[0]["fname"] = "name";
于 2013-05-14T07:48:17.263 回答
0

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

在其他一些正确使用元组的静态类型语言中——比如 F#——我会说你可以只使用一个元组。但是 C# 中的元组只是一个固定的东西,使您的代码丑陋且难以理解(什么是 e.Item1?)。

或者,您可以使用 ExpandoObject 或更好的ElasticObject来完全动态化!因为我认为您已经以动态编程背景来到 C# 并且我认为您会喜欢这样。但是,我不鼓励您使用它。因为它与静态类型语言的设计目的相反。

于 2013-05-14T08:23:12.453 回答