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 的東西使用