我在编写LINQ时遇到了麻烦,因为我是新手:如何使用LINQ进行过滤?
如何编写LINQ查询以在dataItem2中显示处理日期?当我在查询中添加select {}时,出现一条IEnumerable未使用的错误消息。
这与伪数据的数据结构:
List<DataItem> allData = new List<DataItem>();
var dataItem2 = new DataItem();
dataItem2.AddHeader("Process Date", "10/30/2014");
dataItem2.AddHeader("ABC Rank", "None");
dataItem2.AddDataRow(new[] { "a2aaa0", "2x0", "c2ccc0" });
dataItem2.AddDataRow(new[] { "a2aaa1", "b2bbb1", "c2ccc1" });
allData.Add(dataItem2);
这是DataItem的类:
class DataItem
{
private readonly Dictionary<string, string> _headers = new Dictionary<string, string>();
private readonly List<string[]> _rows = new List<string[]>();
public IEnumerable<string> Headers
{
get { return _headers.Keys; }
}
public void AddHeader(string key, string value)
{
_headers.Add(key, value);
}
public string GetHeader(string key)
{
return _headers[key];
}
public string[] GetDataRow(int rowNumber)
{
return _rows[rowNumber];
}
public void AddDataRow(string[] row)
{
_rows.Add(row);
}
public int RowCount
{
get { return _rows.Count; }
}
public void Print()
{
Console.WriteLine("New item:");
foreach (var header in Headers)
{
Console.WriteLine("{0}: {1}", header, GetHeader(header));
}
for (int i = 0; i < RowCount; i++)
{
var row = GetDataRow(i);
for (int j = 0; j < row.Length; j++)
{
Console.WriteLine("Cell ({0}, {1}): {2}", i, j, row[j]);
}
}
}
违规代码:
var typedQry = from b in allData.AsEnumerable()
select new DataItem { b.GetHeader("Status") };
Console.WriteLine(typedQry.ToList());
您还可以显示您正在使用的LINQ? –
如何向我们展示生成错误的代码行,而不是所有其他不相关的代码? –
VAR typedQry =从步骤b中allData.AsEnumerable() 选择新的DataItem { b.GetHeader( “状态”) }; Console.WriteLine(typedQry.ToList()); – user2142250