是否可以在另一个函数中使用特定函数中的变量

问题描述 投票:0回答:1

基本上我想输入 limitInput 并在尝试解析它之后,在另一个函数中使用 bool isInt 和 limitInputInt

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;

namespace Test
{
    internal class Program
    {

        static void Input()
        {
            Console.WriteLine("Integer X?");
            var limitString = Console.ReadLine();
            int limitInt;
            bool isInt = int.TryParse(limitString, out limitInt);
            Console.WriteLine(isInt);
        }
        static void Main(string[] args)
        {
            Input();


            if (isInt = true)
            {
                Console.WriteLine(limitInt);
            }
            else if(isInt = false) 
            {
                Console.WriteLine("this is not an integer");
            }
        }
    }
}

我想输入一个数字作为变量 limitString,尝试解析它,然后在不同的函数中使用 limitInt 和 isInt 。

每当我运行此命令时,我都会收到 CS0103 The name 'isInt' does not recognize in the current context 我确实理解此错误消息,但我不知道如何修复它

这段代码是从我的原始代码简化而来的,但本质上做了同样的事情(我的原始代码是不可读的)

我确信有一个超级简单的修复方法,但新手必须以某种方式学习,而且我找不到任何我能理解的解决方案

对于任何感兴趣的人,我正在用 C# 制作一个猜数字游戏 我以前用 python 做过一个,但想学习 c#

c# function variables
1个回答
0
投票

只需将该变量作为方法结果返回即可。如果您需要 2 个变量,您可以使用元组:

 private static (bool, int) Input()
 {
     //...
     bool isInt = int.TryParse(limitString, out limitInt);
     // ...
     return (isInt, limitInt);
 }
© www.soinside.com 2019 - 2024. All rights reserved.