如何在C#的另一个函数中使用Main方法内的字符串变量?
简单解决方法(给新手的大白话版)
先给你掰明白为啥原来的写法不行:
- 每个方法就像自己的小房间,Main房间里的
Name变量就是这个房间里的小玩具,只能在Main房间里用,subMethod房间自己拿不到。 - 你原来写的
string Name = Main(Name);完全错啦——Main是程序的启动大门,不能这么随便调用,而且你subMethod里的Name还没装东西就拿去用,电脑当然懵。
正确的做法分两步:
- 给subMethod开个"收玩具的口子":让它能接收外面递过来的名字
- 在Main里把
Name递到subMethod里
改好的代码:
using System; class Program { static void Main(string[] args) { Console.WriteLine("Please Enter Name"); // Main房间里的玩具Name string Name = Console.ReadLine(); // 把Name递去subMethod房间 subMethod(Name); } // 给subMethod加个括号里的参数,就是收玩具的口子 static void subMethod(string inputName) { // 现在就能用递进来的inputName啦 foreach (char i in inputName) { Console.Write("~"); } } }
额外唠两句:
- 你可以把
inputName改成任何你喜欢的名字,比如myName,只要保证是从Main递过来的同一个内容就行。 - 以后要让两个方法共享变量,最直接的方式就是"递过去",就像把玩具从这个房间拿到那个房间。
内容的提问来源于stack exchange,提问作者Mitchell Eddings
相关产品推荐
相关产品推荐

