加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 命令行变量/字符串

发布时间:2020-12-15 21:42:00 所属栏目:百科 来源:网络整理
导读:嘿家伙我需要帮助我正在制作的程序,我已经找到了一切但只有一个. 我的代码看起来像这样,但我已经缩短了一点…… public static void mainvoid(){ string line = Console.ReadLine().ToLower(); if (line == "restart") { Console.Clear(); Main(); } if (lin
嘿家伙我需要帮助我正在制作的程序,我已经找到了一切但只有一个.

我的代码看起来像这样,但我已经缩短了一点……

public static void mainvoid()
{
    string line = Console.ReadLine().ToLower();
    if (line == "restart")
    {
        Console.Clear();
        Main();
    }
    if (line == "enter a value: ")
    {
        string value = console.ReadLine();
        console.writeline("Your value is {0}",value);
        mainvoid();
    }
    if (line == "my name")
    {
        Console.WriteLine("Your name is {0}",ConsoleApplication1.Properties.Settings.Default.name);
        mainvoid();
    }

我希望我的程序能够获取一个命令(我已经做过的女巫……),其中一些人在他们之后有值/字符串.
顺便说一句,我正在使用c#2010
我希望我的命令看起来像这样

My name is Daniel
and so the string/value = Daniel
or
name = billy
so the string/value = billy

所以我希望它通过console.readline();并选择它正在更改名称,之后将更改为名称.

但我不知道如何使最后一位我也可以使用的值/字符串…
如果你可以帮我:)请发表评论:)

解决方法

我可以看到这里有两个问题,一个是从“my name is xyz”命令中提取人名,另一个是在程序中保存该值.

由于你构造mainmethod的方式,以及它调用自身的事实(这称为递归),它不能共享从一个调用到下一个调用的任何变量.这使得无法存储人名.您可以通过在mainmethod中创建循环来消除递归

static public void Main()
{
    string currentLine;

    do
    {
        currentLine = Console.ReadLine();
    }
    while (!currentLine.Equals("exit"))
}

这将持续允许用户输入命令,并且当用户进入“退出”时程序将终止.

现在解决存储用户名的问题,你可以简单地删除句子中的“我的名字是”部分来获取用户名…

static public void Main()
{
    string username = "Matthew";

    string currentLine;

    do
    {
        currentLine = Console.ReadLine();

        if (currentLine.Equals("restart"))
        {
            Console.Clear();
        }

        if (currentLine.StartsWith("my name is"))
        {
            username = currentLine.Replace("my name is ","");
        }

        if (currentLine.Equals("my name"))
        {
            Console.WriteLine("Your name is {0}",username);
        }
    }
    while (!currentLine.Equals("exit"))
}

我希望能让你感动!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读