簡體   English   中英

如何從 linq 查詢結果中拆分變量

[英]How to split variable from linq query result

我想從 linq 查詢中拆分數據結果,讓我們從我編寫的這段代碼中說出來

            string[] items;
            var data = from c in db.CMRTables where c.Id.Equals(17776) select new {  c.Auth, c.amount };
            string s = String.Join(",", data);
            items = s.Split(',');
            MessageBox.Show(items[0]);

它將返回 { Auth = 80231252 , amount = 8888888 } ,我想拆分該值以便將其存儲到變量中,

我的預期結果只有 80231252 和 8888888 ,當我拆分它時,該怎么做? 我選擇的基本上不是 2 個值,而是 2 個以上的值,或者我可以說 19 個值

你為什么不能,

var data = (from c in db.CMRTables where c.Id.Equals(17776) select new { c.Auth, c.amount }).FirstOrDefault();
var ExpectedResult = data.Auth + "," + data.amount;

在 ',' 上拆分,然后使用 enumerator 處理每個條目:

string[] items = s.Split(',')
                  .Select(keyVal => keyVal.Split('=')[1].Trim())
                  .ToArray();

上面這個:

  • 使用分隔符','將字符串s拆分為臨時數組 ( Split() )

  • 對於此臨時數組中的每個項目,將此項目作為keyVal字符串並使用'=>'右側的公式處理這些項目( Select()

  • 將結果轉換為string[]數組。

您可以為此目的使用正則表達式。

var numbers = Regex.Matches(str, @"\d+")
                   .Cast<Match>()
                   .Select(x=>x.Value);

如果您希望結果為List<Long>

var numbers = Regex.Matches(str, @"\d+")
                   .Cast<Match>()
                   .Select(x=>long.Parse(x.Value));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM