小编Stu*_*urm的帖子

是否需要INotifyPropertyChanged来绑定ObservableCollection?

当我绑定时,请说a Label到a string,我这样定义字符串:

private string _lbl;
public string Lbl
    {
     get
     {
          return = _lbl;
     }
      set
     {
         _lbl=value;
          OnPropertyChanged("Lbl");
     }
}
Run Code Online (Sandbox Code Playgroud)

随着INotifyPropertyChanged在我的类中实现接口.

我应该以同样的方式定义一个ObservableCollection或者我可以这样离开吗?

public ObservableCollection<File> myFiles {get; set;}

c# wpf binding observablecollection inotifypropertychanged

0
推荐指数
1
解决办法
789
查看次数

检索与条件匹配的两个第一个元素

我确信这可以通过Linq轻松完成,但我无法弄清楚.

var ls1 = plotter.Model.Series.FirstOrDefault(x => x.IsSelected);
var ls2 = plotter.Model.Series.FirstOrDefault((x => x.IsSelected)&&(ls2!=ls1));
Run Code Online (Sandbox Code Playgroud)

我假装要做的是获取属性IsSelected设置为true 的两个第一个对象.

我不能使用上面写的语法,因为编译器ls2在声明之前不能使用"局部变量".

c# linq

0
推荐指数
1
解决办法
64
查看次数

Linq和lambda函数在自定义对象列表中

我曾经以这种方式检索我在达到某个条件之前跳过的项目数:

List<double> series1X = new List<double> {4,6,8,9,10 };
List<double> series1Y = new List<double> { 10, 20, 15, 70,5 };
List<double> series2X = new List<double> { 1,2,3,6,7,8.1,8.2,8.3,8.4,9,9.75};

int j=0;
j = series2X.TakeWhile(p => p < series1X[0]).Count();
Run Code Online (Sandbox Code Playgroud)

所以j是series2X的项目的索引,它是series1X的第一项的下一个.

现在我将其重写为DataPoint 具有X,Y属性.我试过这样做,但我无法访问X或Y.

在这种情况下

List<DataPoint> series1 = new  List<DataPoint>();
List<DataPoint> series2 = new  List<DataPoint>();
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?谢谢

c# linq lambda

-1
推荐指数
1
解决办法
254
查看次数

否定变量快捷方式

这可能是一个微不足道的问题,但我无法轻易找到它.

有一些快捷方式

i = i + 1;
i++;

i = i+20;
i += 20;
Run Code Online (Sandbox Code Playgroud)

但是有什么可以否定一个变量吗?

MyClass.MyVeryLongSubClass.MoreStuff.MyBooleanHere = !MyClass.MyVeryLongSubClass.MoreStuff.MyBooleanHere;
Run Code Online (Sandbox Code Playgroud)

c#

-1
推荐指数
1
解决办法
115
查看次数