C# 中的 ECHO 程序

本文关键字:程序 ECHO 中的 | 更新日期: 2023-09-27 18:31:20

我正在尝试用 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));
            }
        }
    }
}

C# 中的 ECHO 程序

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

所以你的代码可以是:

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

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

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

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

如果您希望输出为"Hello, world"。你可以使用这样的东西:

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