其他分享
首页 > 其他分享> > CodeGo.net>如何在LINQ中选择查询时如何存储变量?

CodeGo.net>如何在LINQ中选择查询时如何存储变量?

作者:互联网

我有这样的LINQ查询:

var q = from p in m.TblOzvs.AsEnumerable()
        where (p.OzviyatNumber == txtSearch.Text) 
        select new mylist
        {                     
            Col1 = p.OzviyatNumber.ToString(),
            Col2 = p.Name,
            Col3 = Calculate._RPMajmoSoodeGhest(p.OzviyatNumber)[1],
            Col4 = Calculate._RPMajmoSoodeGhest(p.OzviyatNumber)[0]
        };

如您所见,对于Col3和Col4,我需要调用一个返回字符串数组的函数,其中string [1]用于Col3,string [0]用于Col4.

我想知道是否有任何方法可以调用Calculate._RPMajmoSoodeGhest()1次并将其用于Col3和Col4?

解决方法:

您可以使用“ let”来定义可在查询的“ select”部分中引用的数量:

var q = from p in m.TblOzvs.AsEnumerable()
         where (p.OzviyatNumber == txtSearch.Text) 
         let calcVal = Calculate._RPMajmoSoodeGhest(p.OzviyatNumber)
         select new mylist
         {                     
             Col1 = p.OzviyatNumber.ToString(),
             Col2 = p.Name,
             Col3 =  calcVal[1],              
             Col4 = calcVal[0]
         };

标签:global-variables,select,linq,c
来源: https://codeday.me/bug/20191028/1949794.html