[英]How to check the value that is already present in Observable Collection
嗨,大家好,我想问一件事,我有一个数据网格,并在其中添加了多行,但我想检查是否应该在数据网格中输入重复的值。
我的代码是:
public ObservableCollection<VLANSPropertyClass> vlan { get; set; }
void AddVlans()
{
if ((String.IsNullOrEmpty(VlanName)) ||
String.IsNullOrEmpty(VlanID) ||
String.IsNullOrEmpty(VlanIP1) ||
String.IsNullOrEmpty(VlanIP2) ||
String.IsNullOrEmpty(VlanIP3) ||
String.IsNullOrEmpty(VlanIP4) ||
String.IsNullOrEmpty(SelectedVlanPort))
{
MessageBox.Show("Please fill the empty fields", "Alert", MessageBoxButton.OK);
}
else
{
var serial = new VLANSPropertyClass();
serial.S_No = vlan.Count + 1;
serial.vname = VlanName;
serial.vid = VlanID;
serial.ip = VlanIP1 + "." + VlanIP2 + "." + VlanIP3 + "." + VlanIP4;
serial.mask = Vlanmask1 + "." + Vlanmask2 + "." + Vlanmask3 + "." + Vlanmask4;
serial.vports = SelectedVlanPort;
vlan.Add(serial);
}
}
我想显示一个消息框,说明用户正在输入重复的值。 任何帮助将是非常可观的。 请我急忙解决。
这是一个快速的
bool itemExists = vlan.Any(item=>
{
return (item.vname == VlanName) &&
(item.ip == VlanIP1 + "." + VlanIP2 + "." + VlanIP3 + "." + VlanIP4) &&
(item.vname == VlanName) &&
(item.vports == SelectedVlanPort);
}
if(itemExists)
{
//show message
}
else
{
//add new item
}
简而言之,您正在使用linq方法Any
来查看是否存在符合指定条件的项目。 如果匹配则返回,否则返回false
您可能需要using System.Linq;
导入名称空间using System.Linq;
如果Any
方法不可用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.