我需要一个包含一对值的结构,其中的值将被更改。所以我的第一个想法是使用 KeyValueItem 或 Tuple 但后来我发现它们只有一个吸气剂。我不明白为什么?在我的情况下你会用什么?我可以创建自己的类,但是还有其他方法吗?
它们是不可变的类型。不可变类型的想法是它们代表一个值,因此不能改变。如果你需要一种新的价值,你就创造一个新的价值。
假设您的元组的第一个值需要更改,只需执行以下操作:
myValue = Tuple.Create(newValue, myValue.Item2);
要理解为什么不变性很重要,请考虑一个简单的情况。我有一堂课说包含最低和最高温度。我可以将其存储为两个值并提供两个属性来访问它们。或者我可以将它们存储为元组并提供提供该元组的单个属性。如果元组是可变的,其他代码可以更改这些最小值和最大值,这意味着我的类中的最小值和最大值将发生变化。通过使元组不可变,我可以安全地一次传递两个值,并确保其他代码无法篡改它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)