2011-12-22 83 views
0

我有點困惑。在c中初始化變量#

我有以下代碼:

public class MyClass 
{ 
    public string DoSomething(string TheString) 
    { 
    int TheID; 
    string TheString = ""; 
    } 
} 

也能正常工作;它編譯。但是,爲什麼這不起作用?

public class MyClass 
{ 
    public string DoSomething(string TheString) 
    { 
    private int TheID {get;set;} 
    private string TheString {get;set;} 
    } 
} 

我想讓這些變量保密。我需要改變什麼?

+0

屬性不能成爲方法的一部分。它始終是課堂的一部分。 – Zenwalker 2011-12-22 03:38:35

回答

5

私有變量只能在類級別有效:

public class MyClass { 
    private int TheID {get;set;} 
    private string TheString {get;set;} 

    public string DoSomething(string TheString) { 

    } 
    } 

的方法中定義的變量的範圍本地,他們只有這個方法裏面存在。方法之外沒有任何東西可以訪問它們將局部變量聲明爲私有是沒有意義的。

+0

只是一個問題:爲什麼要使用私有屬性而不是私人成員? – Florian 2011-12-22 07:44:59

+0

@弗洛裏安,這就是他的問題中frenchie的例子。通常它將是私人領域,而不是私人財產。 – shf301 2011-12-22 14:13:56

2

它們在方法內的作用域 - 你不能在它外面訪問它們。你可以認爲他們是私人的。

+0

好的,謝謝:他們已經是私人的了。 – frenchie 2011-12-22 03:37:40