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

发布于 2025-01-14 06:41:02 字数 156 浏览 1 评论 0原文

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

void Main(string[]args) 

正如每个人在 Visual Studio 上使用 C# 时所做的那样。但是当您从 CMD 运行代码并输入消息时。看来参数可以接受如下消息:

When I run my code through the CMD, the message gets sent into:

void Main(string[]args) 

As everybody does if they use C# on visual studio. But when you run your code from CMD and type a message. it appears the argument can take in a message such as:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无远思近则忧 2025-01-21 06:41:02

您可以将带引号的文本视为一个字符串,而不使用 Split 函数,而是使用正则表达式。
以以下代码片段为例:

// 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] + "'");
}

我在 链接(位于堆栈溢出)中找到了您需要的特定正则表达式字符串。

You can treat quoted text as one string without using the Split function, instead making use of Regex.
Take the following snippet as an example:

// 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] + "'");
}

I found the particular regex string you needed at this link, here on stack overflow.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文