判断集合间的关系 小弟刚学,如何判断两个集合间的关系呢(包含,等于,不等于),集合用数组表示,望高手指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说的是,得考虑清楚,例如A和B我要的结果是有两条 1 A是否等于B, 2 A是否是B的真子集,或者B是否是A的真子集 不考虑集合中元素的顺序。 我想你是想从元素个数,内容方面来判断这样了 重构"="吧在里面做两个数组的count和foreach比较(这个要先对数组排序,否则你怎么比较?) class UTest{ static void Main() { int[] set1 = { 1, 3, 5, 7, 9 }; int[] set2 = { 1, 7 }; bool equal = SetHelper<int>.SetEquals(set1, set2); //false bool contain2 = SetHelper<int>.SetContains(set1, set2); //true; bool contain1 = SetHelper<int>.SetContains(set2, set1); //false; }}public class SetHelper<T>{ public static bool SetContains( ICollection<T> set1, ICollection<T> set2) { if (set1 != null & set1 != null & set1.Count > set2.Count) { foreach (T element in set2) { if (!set1.Contains(element)) return false; } return true; } return false; } public static bool SetEquals(ICollection<T> set1, ICollection<T> set2) { return SetContains(set1, set2) && SetContains(set2, set1); }} Correction to my previous post:if (set1 != null & set1 != null & set1.Count >= set2.Count){ ... Correction again :)if (set1 != null && set1 != null && set1.Count >= set2.Count) { ... 选项卡控件能否自动加载数据 各位大大 datagridview 怎么设置默认选择第2行 Treeview控件如何判断一个都没有被选中 c# WinForm中treeview按图标排序 怎么能把\u7533\u8BF7\u4EBA\u5DF2\u53D7\u7406\u522B转成汉字在WINFORM 中? 用鼠标拖动控件 注册表问题 我想学c#.请问大家几个问题 我下载的TXWEBWORD怎么用? 我现在初学.net 和 c# ,不知有什么入门的书可以学习, 请指点? 实现自增 分割数组循环问题。
我要的结果是有两条 1 A是否等于B, 2 A是否是B的真子集,或者B是否是A的真子集 不考虑集合中元素的顺序。
这样了 重构"="吧
在里面做两个数组的count和foreach比较(这个要先对数组排序,否则你怎么比较?)
class UTest
{
static void Main()
{
int[] set1 = { 1, 3, 5, 7, 9 };
int[] set2 = { 1, 7 }; bool equal = SetHelper<int>.SetEquals(set1, set2); //false
bool contain2 = SetHelper<int>.SetContains(set1, set2); //true;
bool contain1 = SetHelper<int>.SetContains(set2, set1); //false;
}
}
public class SetHelper<T>
{
public static bool SetContains( ICollection<T> set1, ICollection<T> set2)
{
if (set1 != null & set1 != null & set1.Count > set2.Count)
{
foreach (T element in set2)
{
if (!set1.Contains(element)) return false;
}
return true;
}
return false;
} public static bool SetEquals(ICollection<T> set1, ICollection<T> set2)
{
return SetContains(set1, set2) && SetContains(set2, set1);
}
}
{
...
{
...