我的行数据看起来像这样:
(车,颜色,年龄)
例如:
福特,红色,4
丰田,绿色,3
福特,蓝色,2
我需要循环遍历这些数据行并在提交到存储过程之前执行验证.在这种情况下,如果有多个相同类型的汽车,我需要确保颜色不同.所以上面的例子是允许的,但这个例子不会:
福特,红色,4
丰田,绿色,3
福特,红色,2
我如何在C#中做到这一点.我尝试使用字典,但它不允许重复键.列表似乎也不正确?可以提供任何方向吗?谢谢.
Ser*_*rvy 10
你实际上没有重复的键,你只需要一个由两个值(一个复合键)组成的键,特别是你的值是汽车和颜色.因此,您需要一个表示汽车/颜色对的对象,并且基于这两个值实现相等.
这意味着您不需要不同的数据结构,Dictionary很好,您只需要提供适当的类型作为该字典的键.无论是汽车还是单独作为钥匙的颜色都无法满足您的需求.
你可以写自己的; 只是一个具有两个属性和适当Equals/GetHashCode覆盖的类,如果这是您在应用程序的多个位置或从足够大的范围使用的东西,那么您应该这样做.如果您只在有限的本地化范围内使用Tuple<Car, Color>它,则可以将其用作词典键.
| 归档时间: |
|
| 查看次数: |
931 次 |
| 最近记录: |