【发布时间】:2016-02-23 09:51:15
【问题描述】:
不确定这是否可能,没有对 N 个变量中的每一个进行全面比较。
对于 int 或 float,我可以使用简单的数学来确定数字是否相同;求和,然后除以元素的数量。
但是如果我想检查 3 个变量是否包含相同的字符串,我不能使用这种方法。 可能 var1 和 var2 相同,或者 var3 和 var 1 相同,并且 var2 和 var3 也可能相同。据我了解,除非您对每个变量进行比较,否则无法知道该变量的内容是否相同。
我错过了什么还是有更简单的方法?
3 个变量的示例:
string var1 = "hello";
string var2 = "there";
string var3 = "hello";
if (var1 == var2 || var1 == var3 || var2 == var3)
//got a duplicate
else
//all are different
假设比较 20 个变量,写一个比较语句需要很长时间。
对我来说,这听起来类似于搜索算法,我可以应用与排序二分搜索相同的概念吗?
【问题讨论】:
-
尝试将它们添加到列表中
-
序列是否相同无关紧要;尽管我看到了求和然后除以元素数量的数学缺陷。 5,5,5 将得到 15,除以 3 将匹配第一个变量 (5),但如果序列是 5,4,6,这将是相同的;因为它会除以 3 并得到 5,作为第一种情况,但这里我们没有重复。
标签: c#