我有一个if语句,条件为if (String.Equals(str[0], "-"))
而且条件永远都不会满足。因此,我相信我误解了.Equals()方法的工作原理。我也尝试过Char.Equals(str[0], "-")
,但是条件仍然从未满足。我正在使用C#。请帮助我了解导致此问题的原因。谢谢。
答案 0 :(得分:2)
您可以尝试这种方式
using System;
public class Program
{
public static void Main()
{
var str = "-";
Console.WriteLine(str[0].Equals('-'));
}
}
答案 1 :(得分:0)
尝试
var str = "-+=";
if(str[0].Equals('-'))
{
MessageBox.Show("");
}
答案 2 :(得分:0)
您可以使用Regex
在字符串中找到-
字符的匹配项。下面的程序将检查整个字符串中是否出现-
,并且如果找到匹配项,则会输出输出。
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
string str = "this is a test - string - 2124";
showMatch(str, @"[-]");
}
private static void showMatch(string text, string expr)
{
Match mc = Regex.Match(text, expr);
if ( text != string.Empty && mc.Success )
{
//The string consists of a - chracter,
Console.WriteLine("String contains -");
}
}
}