亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果對象列表中不存在對象字段,則更新它?

如果對象列表中不存在對象字段,則更新它?

C#
繁花不似錦 2022-01-15 15:35:41
我有 2 個如下所示的對象列表:public class Object1{    public string Value1 {get; set;}    public string Value2 {get; set;}    public bool Exclude {get; set;}}第二個包含我想用來從第一個對象中排除值的值。public class Object2{    public string Value1 {get; set;}    public string Value2 {get; set;}}如果 Value1 和 Value2 不同時匹配 Object2 中的兩個屬性,我該如何編寫將 Exclude 的值設置為 true 的內容?List<Object1> object1 = new List<Object1>();List<Object2> object2 = new List<Object2>();
查看完整描述

3 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

您可以嘗試以下方法:


if(!listOfObject2.Any(x => x.Value1 == object1.Value1 

                        && x.Value2 == object1.Value2)

)

{

    object1.Exclude = true;

}

在上面的代碼片段中,listOfObject2是 typeList<Object2>和object1type Object1。


查看完整回答
反對 回復 2022-01-15
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

Object1另一種方法是在類上實現一個比較方法,如果屬性匹配則接收Object2并返回:true


public class Object1

{

    public string Value1 { get; set; }

    public string Value2 { get; set; }

    public bool Exclude { get; set; }


    public bool ValuesMatch(Object2 other)

    {

        return (other != null) &&

               Value1 == other.Value1 &&

               Value2 == other.Value2;

    }

}

然后你可以在你的 Linq 語句中使用這個方法:


object1.ForEach(o1 => o1.Exclude = object2.Any(o1.ValuesMatch));


查看完整回答
反對 回復 2022-01-15
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

如果您有兩個列表,則應該可以:


foreach (var obj1 in object1)

{

    obj1.Exclude = true;

    foreach (var obj2 in object2)

    {

        if (obj1.Value1.Equals(obj2.Value1)

            || obj1.Value1.Equals(obj2.Value2)

            || obj1.Value2.Equals(obj2.Value1)

            || obj1.Value2.Equals(obj2.Value2))

        {

            obj1.Exclude = false;

            break;

        }

    }

}

這將初始化Exclude為 true,然后循環遍歷Object1列表并將其兩個值Object2與 object2 列表中的每個值進行比較。如果找到匹配項,則將 exclude 設置為 false 并中斷內部循環,因為它不再需要查看。如果它一直通過,Exclude保持真實。


查看完整回答
反對 回復 2022-01-15
  • 3 回答
  • 0 關注
  • 167 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號