相关疑难解决方法(0)

在C#中重载赋值运算符

我知道=操作员不能超载,但必须有办法在我这里做我想要的:

我只是创建代表定量单位的类,因为我正在做一些物理学.显然我不能只从一个原语继承,但我希望我的类的行为与原语完全一样 - 我只是希望它们的输入方式不同.

所以我可以去,

Velocity ms = 0;
ms = 17.4;
ms += 9.8;
Run Code Online (Sandbox Code Playgroud)

等等

我不知道该怎么做.我想我会写一些像这样的类:

class Power
{
    private Double Value { get; set; }

    //operator overloads for +, -, /, *, =, etc
}
Run Code Online (Sandbox Code Playgroud)

但显然我不能重载赋值运算符.我有什么方法可以得到这种行为吗?

c# operator-overloading

60
推荐指数
2
解决办法
7万
查看次数

如何在没有新的情况下调用构造函数

我知道字符串就像一个类,当创建一个新字符串时,字符串本身并不欠值,而只是值的指针.但是在创建字符串时,不需要使用new;

string a = "hello";
Run Code Online (Sandbox Code Playgroud)

并不是

string a = new string("hello");
Run Code Online (Sandbox Code Playgroud)

我知道第二个选项也是可能的,但我想了解的是为什么第一个?

假设我有一个类名学生,他的构造函数得到了string.要创建一个新类,我必须使用保存的单词new.

student example = new student("Sabrina");
Run Code Online (Sandbox Code Playgroud)

我尝试过载,oparator =但这是不可能的.

如何创建一个像string(不使用单词new)的新类?

student example = "Sabrina"; 
Run Code Online (Sandbox Code Playgroud)

c# constructor

3
推荐指数
3
解决办法
2058
查看次数

标签 统计

c# ×2

constructor ×1

operator-overloading ×1