[英]Convert linq query to Generic string array
我知道我可以將linq查詢轉換為數組或列表,但這似乎無濟於事。
這是我的查詢:
var bracct = from DataRow x in _checkMasterFileNew.Rows
select new {BranchAccount = string.Format("{0}{1}", x["Branch"], x["AccountNumber"])};
當我嘗試將其轉換為列表或數組時:
List<string> tstx = bracct.ToList();
或這個:
string[] stx = bracct.ToArray();
如果給我這個:
我假設我需要更改查詢,但是我不確定處理此問題的最佳方法。 如何獲取通用字符串集合?
這將不起作用,因為您已經創建了一個匿名類型,該匿名類型具有1個字符串屬性。 相反,如果只想將其轉換為List<string>
請執行以下操作:
var bracct = (from DataRow x in _checkMasterFileNew.Rows
select string.Format("{0}{1}", x["Branch"], x["AccountNumber"])).ToList();
如果使用c#6.0,則可以使用字符串插值:
var bracct = (from DataRow x in _checkMasterFileNew.Rows
select $"{x["Branch"]}{x["AccountNumber"]}").ToList();
您的查詢正在創建一個具有單個成員BranchAccount
的匿名類型。 如果您實際上只想要一個string
,那么只需選擇它即可:
var bracct =
from DataRow x in _checkMasterFileNew.Rows
select string.Format("{0}{1}", x["Branch"], x["AccountNumber"]);
現在,您的ToList()
調用將返回List<string>
:
List<string> tstx = bracct.ToList();
在執行ToList()
之前,必須選擇要分配字符串的屬性,或者刪除匿名類型並直接select string.Format()
嘗試這個:
List<string> tstx = bracct.Select( x => x.BranchAccount ).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.