我在編寫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