可能是BAD编码风格......请评论

Pre*_*k K 0 c#

我正在检查新名称是否已存在.

代码1

if(cmbxExistingGroups.Properties.Items.Cast<string>().ToList().Exists(txt => txt==txtNewGroup.Text.Trim())) {
        MessageBox.Show("already exists.", "Add new group");
      }
Run Code Online (Sandbox Code Playgroud)

否则我可以写:

代码2

foreach(var str in cmbxExistingGroups.Properties.Items)
      {
        if(str==txtNewGroup.Text) {
        MessageBox.Show("already exists.", "Add new group");        
            break;
        }   
      }
Run Code Online (Sandbox Code Playgroud)

我写了这两个,并认为我正在利用代码1中的语言功能.

......是的:他们都为我工作......我想知道表现: - /

jef*_*ffm 15

我很欣赏第一个样本的聪明(假设它有效),但第二个样本对于必须维护代码的下一个人来说要容易得多.


Fly*_*wat 11

有时只是一点点缩进就会让世界变得不同:

if (cmbxExistingGroups.Properties.Items
    .Cast<string>().ToList()
    .Exists
     (
         txt => txt==txtNewGroup.Text.Trim()
     )) 
{
    MessageBox.Show("already exists.", "Add new group");
}
Run Code Online (Sandbox Code Playgroud)

由于您使用List <String>,因此您可以删除Exists谓词并使用Contains ...在使用唯一值比较复杂对象时使用Exists.


EBG*_*een 6

我以前引用过它,但我会再次这样做:

写下你的代码,好像维护它的人是一个知道你住在哪里的杀人狂.