namespace Console_Wars
{
class Hero (第一个class)
{
.
.
public void showLower2 () {..}
.
.
string lower_2; <- in class Hero
}
public void showLower1 () {..}
string lower_1; <- global
//console程式
class Program (第二个class)
{
.
.
static void Main(string[] args)
{
.
.
string lower = HeroA.name.ToLower();
HeroA.showLower2(); (主要问题点)
showLower1 ();
.
.
} <- local var lower 消灭
}
1.Hero::showLower2是宣告于class Hero中,只看的到class自己的Hero::lower_2
2.Console_Wars::showLower1也只能秀Console_Wars::lower_1 <- global
至于你在Main里面宣告的local var lower,1跟2都看不到
namespace Console_Wars
{
class Heros ()
{
public void showlower ()
{
Console.WriteLine (name.ToLower ());
}
}
public void showlower (string Name) <-将name当成function变量带进来
{
Console.WriteLine = (Name.ToLower());
}
.
.
static void Main(string[] args)
{
.
.
showlower (HeroA.name) <-呼叫function,并且把变量带进去
HeroA.showlower () <-直接使用class的func
.
.
}
}
___
因为我没玩过C#,不知道概念跟C会不会有太大出入,有错请指正
问题应该在,你还没有 变量范围的概念? (variable scope)
不过function概念的话,可以直接丢值进来就解决了,没有必要坚持用已有var
或是直接在class里面做完 Heros::showlower,直接当成class 的东西使用