C#中的ECHO程序

时间:2013-09-15 21:59:52

标签: c# .net

我正在尝试在C#中创建一个与众所周知的echo命令相似的程序。除非我尝试打印带引号的字符串,否则一切正常。

例如,在echo命令中键入:

echo "Hello, world!"

你得到输出:

"Hello, world"

但是当我运行我的程序时,我得到了:

Hello, world!

这是代码:

using System;

namespace CSharpEcho
{
    public class Echo
    {
        public static void Main(String[] argv)
        {
            Int32 ArgsLength = argv.Length;

            if(ArgsLength == 0)
                Console.WriteLine("You have to write something!");
            else
            {
                String Str = "";

                foreach(String args in argv)
                {
                    Str += args + " ";
                }

                Console.WriteLine(String.Format("{0}", Str));
            }
        }
    }
}

3 个答案:

答案 0 :(得分:7)

Environment.CommandLine包含确切的命令行内容。

所以你的代码可以是:

public static void Main(String[] argv)
{
  Console.WriteLine(Environment.CommandLine);
}

答案 1 :(得分:0)

字符串中的双引号字符有点棘手。试试这个:

Console.WriteLine(String.Format(@"""{0}""", Str));

@符号使字符串成为字符串文字,这意味着没有“转义”字符。外部双引号是字符串周围的正常引号,内部双引号双引号是实际引号字符。

答案 2 :(得分:0)

如果您希望输出为“ Hello,world”。您可以使用以下内容:

var text = "\"Hello, World\"";