C# 如何在c中使用方法Contains和Linq搜索字符串中的数字?
我创建了一个计算器,它的按钮上有数字和运算符,用于基本运算+,-,。。。并且只想过滤带有数字的按钮,以检测何时单击的数字在0-9之间。我还添加了新的eventhadler,它将发送者转换为按钮 我想知道使用linq过滤带有数字的按钮的好方法和简单方法是什么 到目前为止我试过的是什么C# 如何在c中使用方法Contains和Linq搜索字符串中的数字?,c#,linq,lambda,contain,C#,Linq,Lambda,Contain,我创建了一个计算器,它的按钮上有数字和运算符,用于基本运算+,-,。。。并且只想过滤带有数字的按钮,以检测何时单击的数字在0-9之间。我还添加了新的eventhadler,它将发送者转换为按钮 我想知道使用linq过滤带有数字的按钮的好方法和简单方法是什么 到目前为止我试过的是什么 if(btn.Text == btn.Text.Contains(x => x >= '0' && x <= '9')) MessageBox.Show("number "
if(btn.Text == btn.Text.Contains(x => x >= '0' && x <= '9'))
MessageBox.Show("number " + btn.Text + " is pressed!");
如何使上面的代码可行?给您,以满足您当前的需要:
if(btn.Text.All(char.IsDigit))
{
//Do your stuff
}
如果你只想知道这是不是一个数字,那么就这么做吧。不需要LINQ LINQ检查数字是否在0和9之间的方法
if(yourstring.ToCharArray().Where(c=> c < '0' || c > '9').Any())
return false;
else
return true;
或者在没有linq的情况下检查少于10个
static bool IsLessThanTen(string str)
{
foreach (char c in str)
{
if (c < '0' || c > '9')
return false;
}
return true;
}
如果您需要检查按钮文本中的至少一个数字,请使用下面的
return btn.Text.Any(char.IsDigit)
如果你在写计算器,最好检查一下,这应该行得通
bool hasNumeric = yourString.IndexOfAny("0123456789".ToCharArray()) > -1;
你想检查btn文本是否包含数字?我想检查btn文本的数字是否在0-9之间,而不是actionthnx man,但问题是如何使用contains方法和linq检查btn.text,这意味着如果我有一些按钮的文本btn1大于char.IsDigit,则无法工作,我想用lambda x>=0&&x thnx制作一个过滤器,用于回放,但btn.text有时也可以像btn1一样包含单词和数字,我也想过滤它们,所以我要求linq…我发布需要可用的代码,如果你能让我的例子可行,我将非常感激linq工作得很好,很容易再做一次:。。这就是我要找的
bool hasNumeric = yourString.IndexOfAny("0123456789".ToCharArray()) > -1;