问题:
试着基本上说IF我的TextBlock包含" X"然后执行IF,但我不知道如何在正确的上下文中编写它。
示例:
如果"巧克力"在TextBlock中,我想要展示一个"巧克力" (我已经知道如何正确显示图像,我的问题在于IF语句本身)
我是这类新手的新手,我想知道以备将来参考。
问题:
现在,我不知道如何以实际有效的方式对TextBlock / String执行IF语句。
尝试:
if (string content.contains("Chocolate"));
{
Uri Pure = new Uri("Images/ChocolatePortrait.png", UriKind.Relative);
BitmapImage imageSource = new BitmapImage(Pure);
image2.Source = imageSource;
}
if (textBlock.text = ("Chocolate"));
{
Uri Pure = new Uri("Images/ChocolatePortrait.png", UriKind.Relative);
BitmapImage imageSource = new BitmapImage(Pure);
image2.Source = imageSource;
}
答案 0 :(得分:2)
使用==来测试相等性
if (textBlock.Text == "Chocolate")
{
Uri Pure = new Uri("Images/ChocolatePortrait.png", UriKind.Relative);
BitmapImage imageSource = new BitmapImage(Pure);
image2.Source = imageSource;
}
您也可以这样做:
if (textBlock.Text.Contains("Chocolate", StringComparison.OrdinalIgnoreCase))
{
// ....
}
如果您正在寻找"巧克力"在文本区块的文本中,您不希望检查区分大小写。
答案 1 :(得分:2)
问题是您是以分号;
提前终止if语句!
if (textBlock.Text.Contains("Chocolate")) // <= removed the ";"
{
Uri Pure = new Uri("Images/ElfPortrait.png", UriKind.Relative);
BitmapImage imageSource = new BitmapImage(Pure);
image2.Source = imageSource;
}
此属性为Text
,大写字母为“T”。在C#中Text
和text
是两个不同的标识符!
许多程序员喜欢在同一行上编写左大括号。这使得更清楚的是行的结尾不是语句的结尾:
if (condition) {
statement-sequence
}
请注意,"The Chocolate is fine!".Contains("Chocolate")
会返回true
。如果整个字符串必须等于该单词,则与textBlock.Text == "Chocolate"
答案 2 :(得分:0)
if(YOUR_STRING_HERE.Contains(STRING_YOU_WANT_TO_FIND))
{
//do your stuff here
}
答案 3 :(得分:-1)
您可以使用以下方式检查是否相等:
if (textBlock.text.Equals("Chocolate");
{
//do whatever must be done here
}
或者您也可以使用==(之后您不需要检查null)。 然而,通过&#39; Equals&#39;你也可以使用重载函数,例如忽略这个案子。