초보자로서 LINQ 작성에 어려움이 있습니다.LINQ를 사용하여 필터링하는 방법?
DataItem2의 프로세스 날짜를 표시하는 LINQ 쿼리를 작성하는 방법은 무엇입니까? 쿼리에서 select {}를 추가하면 IEnumerable이 사용되지 않는다는 오류 메시지가 나타납니다. 이것은있는 DataItem 클래스입니다
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);
:
이
더미 데이터와 데이터 구조입니다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 = from allData.AsEnumerable() 새 DataItem 선택 { b.GetHeader ("상태") }; Console.WriteLine (typedQry.ToList()); – user2142250