使用if比较字符串c#

时间:2014-04-12 03:24:41

标签: c#

我正在尝试比较字符串,如果字符串相等则让它写入hi。 但每当我进入AS时,我得到的任何东西都不是我希望比较输入的字符串。

这是我的代码。

using System;

namespace testing121
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            long vrt;
            bool run;
            string pass = ("AS");
            run = true;
            string vrt2;
            while (run)
            {
                if (long.TryParse (Console.ReadLine (), out vrt)) {
                    vrt2 = Convert.ToString (vrt);
                    if (String.Equals (pass, vrt2) ) {
                        Console.WriteLine ("Hi");
                    }
                }
            }}}}

3 个答案:

答案 0 :(得分:4)

这段代码没有意义。您正在输入AS,但检查是否可以将其转换为long作为您的平等条件的一部分。就这样做;

public static void Main (string[] args)
{
   string pass = "AS";

   if (Console.ReadLine() == pass)
       Console.WriteLine("hi");
}

然后,如果你想把它放在一个循环或其他任何东西。但我建议从最简单的最基本的东西开始。当您运行此程序并输入AS时,它将打印hi

答案 1 :(得分:0)

因为当您检查if (long.TryParse (Console.ReadLine (), out vrt))时,TryParse的结果始终是False,因为您没有提供一个号码。 控制台不会写你Hi

答案 2 :(得分:0)

你也可以这样做......

string pass = "AS";

            if (pass.Equals(Console.ReadLine()))
            {
                Console.WriteLine("hi");   
            }