我有一个这样的 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]
        };

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

我想知道是否有任何方法可以调用 Calculate._RPMajmoSoodeGhest() 1 次并将它用于 Col3Col4

最佳答案

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

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]
         };

关于c# - 在 LINQ 中选择查询时如何存储变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31440996/

10-11 00:59