我是c#的新手,我试图保存从XML解析器读取的一些数据。数据被正确读取,实际上我将它们模拟如下:
liveMatches.ForEach(match => Console.WriteLine(
match.Id.ToString(),
match.Name,
match.Country,
match.Historical_Data,
match.Fixtures,
match.Livescore,
match.NumberOfMatches,
match.LatestMatchResult
));
但现在我想创建一个包含八个单元格的数组,这些单元格将插入控制台上显示的每个匹配内容中。 谁能告诉我怎么做?
答案 0 :(得分:1)
创建一个类......
public class Match
{
public string Id {get; set;}
public string Name {get; set;}
....
}
然后,创建一个Match
...
var matches = liveMatches.Select(match => new Match {
Id = match.Id.ToString(),
Name = match.Name,
etc
}).ToList();
我在这里手工打字,所以我不确定这是否正确,但它是按照这些方式进行的。
编辑:如果您无法创建类型,则可以使用...
var matches = liveMatches.Select(match => new
{
Id = match.Id.ToString(),
Name = match.Name
}).ToList();
答案 1 :(得分:1)
尝试这样的事情
List<List<object>> results = new List<List<object>>();
liveMatches.ForEach(match => results.Add( new object[] {
match.Id.ToString(),
match.Name,
match.Country,
match.Historical_Data,
match.Fixtures,
match.Livescore,
match.NumberOfMatches,
match.LatestMatchResult
}));
答案 2 :(得分:0)
Create a lambda expression with a new anonymous type at runtime
这应该回答你的问题。
基本上,您将创建一个匿名对象,但您必须将其返回到某个对象;现在,没有任何东西被分配给liveMatches的结果,所以没有任何东西出来。我会做类似的事情:
var Item = liveMatches
.Where(match => match != null)
.Select(match => new {
Id = match.Id.ToString(),
Name = match.Name
...
)).ToList();
根据Sidewinder94的评论编辑