2011-12-22 71 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