使用空字符串更新值列表并在其他字段中保留值

时间:2015-11-09 10:59:44

标签: c# linq

我在表单中有一个列表 -

FieldName-      DataType-
Date            DateTime
DateString      String
Unit            double
Price           double

我想执行一项操作,如果Date上的弱日不是星期一,则用空字符串更新DateString,否则保持DateString的值不变。

列表中存在数据。

更新 我在DataTable dtGas上应用了聚合函数,如下所示 -

var qGas = from x in dtGas.AsEnumerable()
                       group x by new
                       {
                           Date = x.Field<DateTime>("Date"),
                           DateString = x.Field<string>("DateString")
                       } into egroup
                       select new
                       {
                           Date = egroup.Key.Date,
                           DateString = egroup.Key.DateString,
                           Unit = egroup.Sum(r => r.Field<double>("Unit")),
                           Price = egroup.Sum(r => r.Field<double>("Price"))
                       };

现在我需要将此结果显示在Chart中。由于大量数据值在X轴上重叠。

这就是为什么我需要从DateString中删除一些值并只显示其中的几个。

1 个答案:

答案 0 :(得分:1)

你可以简单地使用这样的条件运算符: -

group x by new
      {
          Date = x.Field<DateTime>("Date"),
          DateString = x.Field<string>("DateString")
       } into egroup
let isMonday = egroup.Key.Date.DayOfWeek.ToString() == "Monday"
select new
      {
          Date = egroup.Key.Date,
          DateString = isMonday ? egroup.Key.DateString : "",
          ..other properties