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));
}
}
}
}
Environment.CommandLine 包含精确的命令行内容。
所以你的代码可以是:
public static void Main(String[] argv)
{
Console.WriteLine(Environment.CommandLine);
}
字符串中的双引号字符有点棘手。试试这个:
Console.WriteLine(String.Format(@"""{0}""", Str));
@ 符号使字符串成为字符串文字,这意味着没有"转义"字符。外部双引号对是字符串周围的正常引号,内部双引号对是实际引号字符。
如果您希望输出为"Hello, world"。你可以使用这样的东西:
var text = "'"Hello, World'"";