是否为C#设置了比较操作?
我有以下声明:是否为C#设置了比较操作?,c#,comparison,set,C#,Comparison,Set,我有以下声明: while ((leftSide.Count-rightSide.Count!=-1)&&(leftSide.Count-rightSide.Count!= 0)) { // Do stuff here } 我想写这样的东西: while (leftSide.Count - rightSide.Count ! in [-1, 0]) { // Do stuff here } 但这是非法的语法。我想知道,有什么办法吗?有些语法我不知道 我想看
while ((leftSide.Count-rightSide.Count!=-1)&&(leftSide.Count-rightSide.Count!= 0))
{
// Do stuff here
}
我想写这样的东西:
while (leftSide.Count - rightSide.Count ! in [-1, 0])
{
// Do stuff here
}
但这是非法的语法。我想知道,有什么办法吗?有些语法我不知道
我想看看一组数字的计数差是否不需要再次包含语句的整个左侧
我想我可以这样做:
int x = leftSide.Count-rightSide.Count;
while ((x != -1) && (x != 0))
{
// Do stuff here
x = leftSide.Count-rightSide.Count;
}
但我宁愿不要
如果无法进行“设置”比较,是否有人知道原因?C#是一种功能齐全的语言,缺少这样的东西似乎很奇怪。它不需要在语言中,因为它可以很容易地放在库中:
我在这里使用了一个数组,因为它太小了。。。但是你要考虑使用一个大的集合的<代码> HasStuts。
它不需要在语言中,因为它可以很容易地在一个库中:
.Contains
我在这里使用了一个数组,因为它太小了。。。但是,您需要考虑使用一个大集合的<代码> HasStuts。< /P>
.Contains
您可以使用
HashSet
(或任何实现ISet的工具)进行集合比较。为了你的目的,这太过分了
不过,我怀疑使用x>0对您的示例有效。您可以使用
哈希集(或任何实现ISet的工具)进行集比较。为了你的目的,这太过分了
不过,我怀疑使用x>0对您的示例有效。对于较大的金额,您可以声明一个列表
,并使用包含
方法:
List<int> values = new List<int> {-1, 0};
if(!values.Contains(x))
//do stuff
List values=新列表{-1,0};
如果(!values.Contains(x))
//做事
对于较大的金额,您可以声明列表
并使用包含
方法:
List<int> values = new List<int> {-1, 0};
if(!values.Contains(x))
//do stuff
List values=新列表{-1,0};
如果(!values.Contains(x))
//做事
使用扩展方法:
public static class DoubleInExtension
{
public static bool IsIn(this double x, double a, double b)
{
return x >= a && x <= b;
}
}
公共静态类
{
公共静态布尔码IsIn(这个双x,双a,双b)
{
返回x>=a&&x使用扩展方法:
public static class DoubleInExtension
{
public static bool IsIn(this double x, double a, double b)
{
return x >= a && x <= b;
}
}
公共静态类
{
公共静态布尔码IsIn(这个双x,双a,双b)
{
返回x>=a&&x使用扩展方法,您可以在
操作符中轻松创建一个:
public static class Extensions
{
public static Boolean In<T>(this T obj, params T[] items)
{
return items.Contains(obj);
}
}
使用扩展方法,您可以在
操作符中轻松创建一个:
public static class Extensions
{
public static Boolean In<T>(this T obj, params T[] items)
{
return items.Contains(obj);
}
}
再一次,你是快速抽签之王。斯基特先生打得好,打得好。好的,我可以用这个。我来自德尔福背景,这是语言的一部分。我想我只是认为这应该也是C#中的语言级功能。再一次,你是快速抽签之王。斯基特先生打得好,打得好。好,我可以用这个。我来自Delphi背景,这是语言的一部分。我想我只是假设它也应该是C#中的一个语言级功能。请看:非常好!使用params
使其真正可用。将其添加到我的扩展方法类中,现在我的,而看起来是这样的:我在我的博客中写到了这一点。非常非常非常非常很好!使用params
使其真正可用。将其添加到我的扩展方法类中,现在我的while
看起来是这样的:我在我的博客中写到了这一点。这可能是最好的C#方法。我使用扩展方法,因为它对我来说读起来更好。(以我的delphi背景)这可能是最好的C#方法。我选择了扩展方法,因为它对我来说读起来更好。(以我的delphi背景)