我的類的對象Lambda表達式C#聯盟在哪裏
public class Person
{
public string Error { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
一些有錯誤(無姓名和年齡)的一些沒有錯誤(和姓名和年齡)
Person[] p1 = new Person[] { new Person { Error = "Error1" }, new Person { Name = "Name1", Age = 1 } };
Person[] p2 = p1
.Where(c => string.IsNullOrEmpty(c.Error))
.Select(
c => new Person { Name = c.Name, Age = c.Age }
).ToArray()
Union()
.Where(d => !string.IsNullOrEmpty(d.Error))
.Select(
d => new Person { Error = d.Error }
).ToArray()
我需要創建第二個數組p2,其中我可以從p1中選擇所有具有Error的人員對象,並聯合來自同一個p1且沒有錯誤的所有人員。
我需要類似上面的代碼,但它不工作。我怎樣才能把它寫在一個lambda子句中?
非常感謝?
這是你想要正確的語法查詢嗎? 'Person [] p2 = p1.Where(c => string.IsNullOrEmpty(c.Error))。Select(c => new Person {Name = c.Name,Age = c.Age})。Union(p1.Where (d =>!string.IsNullOrEmpty(d.Error))。Select(d => new Person {Error = d.Error}))。ToArray();' –
'但它不工作'爲什麼? – usr
如果你從'p1'中選擇了所有'p1'中有'Error'和'Union'的所有人,那麼''沒有錯誤',你將得到p1。 :) –