如何创建这样一个数组

3
List<Customer> c= new List<Customer>()
{
    new Customer{Id = 1, Name = "Bruce"},
    new Customer{Id = 2, Name = "John"}
};

我只是知道

c.ForEach(o => str += o.Id.ToString() + ",");

有简单的方法吗?

我只想取出Id并创建Ids数组 int[] Ids = new {Id = 1, Id = 2}


@NikhilAgrawal 这对于 C# 4 并不是新鲜事。 - Adam
@NikhilAgrawal 这一直是可能的,因为+编译成的String.Concat方法支持(string, object)重载。请参考链接:http://msdn.microsoft.com/en-us/library/system.string.concat(v=vs.71).aspx - Adam
不需要将 Id 转换为字符串再与另一个字符串连接。您可以写成 o.Id + ",",它不会出错。 - Nikhil Agrawal
1个回答

9
如果您想创建一个包含所有这些ID的数组,那么可以使用SelectToArray方法:
int[] ids = c.Select(i => i.Id).ToArray();

嘿,请帮帮我。我遇到了同样的问题。我使用ViewBag来显示数组中的数据,就像这样:var visitorsData = @Html.Raw(Json.Encode(ViewBag.arrayVistiors)); 但是我想要像这样获取:var visitorData = {US:200,IN:123}。请帮忙解决一下。@Zbigniew - user7918630
@Brij 很难在不知道你的数据结构的情况下进行判断,但看起来你想要一种字典类型的数据结构。尝试使用 ToDictionary 方法,例如 arrayVisitors.ToDictionary(key => key.CountryCode, value => value.VisitorsCount) - Zbigniew
另一方面,@Brij,你也可以这样做:arrayVisitors.Select(i => new { i.CountryCode, i.VisitorsCount }) - Zbigniew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接