本人书上划下来的1号句子,适用于结构和本人提供的运算符,你们能不能帮本人写一个简单点代码?用结构体和重载运算符+号!本人实在想不出了,这下面是本人写的代码,本人想用结构体a1+a2然后赋值给a3,可是当本人a1.的时候却没有a字段。谁能帮本人改改,或你们帮本人写一个简单点的代码 让本人看看?但是要符合书上的意思~!谢谢了
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace delete
{
class Program
{
static void Main(string[] args)
{
liweike? a1 = new liweike();
liweike? a2 = new liweike();
liweike? a3 = new liweike();
a1.
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace delete
{
class Program
{
static void Main(string[] args)
{
liweike? a1 = new liweike();
liweike? a2 = new liweike();
liweike? a3 = new liweike();
a1.
}
}
struct liweike
{
public int a;
public static liweike operator +(liweike a1, liweike a2)
{
liweike a = new liweike();
a.a = a1.a + a2.a;
return a;
}
}
}
解决方案
20
liweike? a1 = new liweike { a = 1 }; liweike? a2 = new liweike { a = 2 }; liweike? a3 = a1 + a2; Console.WriteLine(a3.Value.a); //3
20
liweike? a1 = new liweike();
a1.a = 1 ;
这样是不行的,原因是 a1 是可空的,实例化时没给初值的话,连属性名也都没有了
这样就可以
liweike a1 = new liweike();
a1.a = 1 ;
a1.a = 1 ;
这样是不行的,原因是 a1 是可空的,实例化时没给初值的话,连属性名也都没有了
这样就可以
liweike a1 = new liweike();
a1.a = 1 ;