struct:
public struct BuyTipItem
{
public string dialogId;
public bool isBuy;
}
class Program
{
static void Main(string[] args)
{
List<BuyTipItem> buyTipItems = new List<BuyTipItem>();
buyTipItems.Add(new BuyTipItem() { dialogId="66",isBuy=false});
var value= buyTipItems.Find(item => item.dialogId == "66");
value.isBuy = true;
foreach (var item in buyTipItems)
{
Console.WriteLine(item.dialogId+","+item.isBuy);
}
}
}
class:
public class BuyTipItem
{
public string dialogId;
public bool isBuy;
}
class Program
{
static void Main(string[] args)
{
List<BuyTipItem> buyTipItems = new List<BuyTipItem>();
buyTipItems.Add(new BuyTipItem() { dialogId="66",isBuy=false});
var value= buyTipItems.Find(item => item.dialogId == "66");
value.isBuy = true;
foreach (var item in buyTipItems)
{
Console.WriteLine(item.dialogId+","+item.isBuy);
}
}
}
以上运行各运行一遍。
可以发现容器中再次拿过来的都是进行了深拷贝,并不是内存的引用。
本文探讨了在C#中如何使用List存储自定义类型BuyTipItem,通过对话ID查找并修改购买状态的过程。演示了如何创建BuyTipItem实例,添加到List中,查找特定项并修改其属性。
335

被折叠的 条评论
为什么被折叠?



