像C#中的SQL替代运算符一样

时间:2017-06-16 23:59:07

标签: c#

我正在尝试检查在某个消息之后是否输入了任何字符串我确实在SQL中有一个工作版本我想在C#中使用几乎相同的那个#

SQL中的用法:

        ELSE IF @Msg LIKE '/Message %'

C#中的用法:

        else if (Msg == "/Message ")

我希望该工具检查在/ Message之后是否输入任何字符串。

提前致谢:)

3 个答案:

答案 0 :(得分:3)

您可以使用以下string功能:

var Msg = "A message to check";

LIKE 'SomeText%'

if (Msg.StartsWith("SomeText"))

LIKE '%SomeText'

if (Msg.EndsWith("SomeText"))

LIKE '%SomeText%'

if (Msg.Contains("SomeText"))

答案 1 :(得分:1)

以下是TSQL LIKE关键字的工作原理。

using System;

namespace SqlLike
{
    class Program
    {
        static void Main(string[] args)
        {
            var findMe = "ABCHelloXYZ";

            // LIKE '......%'
            if (findMe.StartsWith("ABC"))
            {
                Console.WriteLine("Yay");
            }

            // LIKE '%......'
            if (findMe.EndsWith("XYZ"))
            {
                Console.WriteLine("Woohoo");
            }

            // LIKE '%......%'
            if (findMe.Contains("Hello"))
            {
                Console.WriteLine("JackPot!!");
            }

            Console.ReadLine();
        }
    }
}

答案 2 :(得分:0)

您的要求有点模糊,但这应该可以帮助您(根据需要进行一些调整)。

String Msg = "/Message somethingelse";
        if (Msg.Contains("/Message ") && (Msg.Length > 9) )
        {
            String str = Msg.Substring(9);
            Console.Write("str: " + str);
        }

正如@Scott建议你也可以使用:

if (Msg.StartsWith("/Message ") && (Msg.Length > 9))
        {
            String str = Msg.Substring(9);
            Console.Write("str: " + str);
        }