如何使 args 类型的变量将引号或字符串作为参数?

How would I make a variable of type args take a quote or string as an argument among others?

当我通过 CMD 运行 我的代码时,消息被发送到:

void Main(string[]args) 

如果每个人在 visual studio 上使用 C#,他们都会这样做。但是,当您 运行 来自 CMD 的代码并键入一条消息时。看来参数可以接受一条消息,例如:

您可以在不使用 Split 函数的情况下将引用的文本视为一个字符串,而是使用 Regex。 以下面的片段为例:

// In your case just read from the textBox for input
string input = "cars \"testing string\"";

// This code will split the input string along spaces,
// while keeping quoted strings together
string[] tmp = Regex.Split(input, 
    "(?<=^[^\"]*(?:\"[^\"]*\"[^\"]*)*) (?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");

// Now must remove the quotes from the Regex'd string
string[] args = tmp.Select(str => str.Replace("\"", "")).ToArray();

// Now when printing the arguments, they are correctly split
for (int i = 0; i < args.Length; i++)
{
    Console.WriteLine("args[" + i + "]:'" + args[i] + "'");
}

我在 this link 找到了您需要的特定正则表达式字符串,这里是堆栈溢出。