首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#新手简单有关问题,求解释

2013-08-09 
C#新手简单问题,求解释// keywords_this.cs// this exampleusing Systemclass Employee{private string n

C#新手简单问题,求解释
// keywords_this.cs
// this example
using System;
class Employee
{
    private string name;
    private string alias;
    private decimal salary = 3000.00m;

    // Constructor:
    public Employee(string name, string alias)
    {
        // Use this to qualify the fields, name and alias:
        this.name = name;
        this.alias = alias;
    }

    // Printing method:
    public void printEmployee()
    {
        Console.WriteLine("Name: {0}\nAlias: {1}", name, alias);
        // Passing the object to the CalcTax method by using this:
        Console.WriteLine("Taxes: {0:C}", Tax.CalcTax(this));
    }

    public decimal Salary
    {
        get { return salary; }
    }
}
class Tax
{
    public static decimal CalcTax(Employee E)      //这里的(Employee E )是什么意思?是实例化还是     


//作/参传递,求详细解答
    {
        return 0.08m * E.Salary;
    }
}

class MainClass
{
    static void Main()
    {
        // Create objects:
        Employee E1 = new Employee("John M. Trainer", "jtrainer");

        // Display results:
        E1.printEmployee();
    }
}




/*运行结果:Name: John M. Trainer
Alias: jtrainer
Taxes: $240.00

*/

?
C#

分享到:
[解决办法]
方法的参数啊。

好比int i,类型(空格)参数形参名
[解决办法]
不就是传参数吗……
[解决办法]
myE = new Employee() { id = 5 }; 
C# 3.0新写法
相当于
myE = new Employee();
myE.id = 5;
[解决办法]
不过这样是改变不了的,因为你新建了一个对象,你修改的不是原来那个。

你有两个办法,一个是如你注释掉的那样直接修改。

一个是你使用ref修饰参数,使得调用者的引用也指向你新建的那个对象。
[解决办法]
这个是方法的一个参数
public static decimal CalcTax(Employee E)  
这句话中 public是方法的访问权限;
         static表示方法为静态方法;
         decimal表示调用这个方法返回一个decimal类型的返回值;
         CalcTax是方法的名字;
         Employee是调用这个方法所需的第一个参数的参数类型;
         E表示这个参数在方法中用E 来代表;
所以“Employee E” 其实就是 :调用“CalcTax”这个方法的时候 这个方法需要一个“Employee“类型的值,这个值在方法里用E来代表参与运算


[解决办法]
第一个是empolyee类型的参数,
第二个是实例化的时候直接赋值

热点排行