在C#中对Textblock执行If语句

时间:2014-04-02 21:02:22

标签: c# if-statement textblock

问题:

试着基本上说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;


        }

4 个答案:

答案 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#中Texttext是两个不同的标识符!

许多程序员喜欢在同一行上编写左大括号。这使得更清楚的是行的结尾不是语句的结尾:

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;你也可以使用重载函数,例如忽略这个案子。