问个C#初级的问题

handsome1234 2018-07-28 08:12:52

public class coupon
{
public coupon()
{
}

public coupon(string strMEMBER_CODE, string strRETURN_VALUE, string strSERIAL_NO,string str_temp_yxq)
{
MEMBER_CODE = strMEMBER_CODE; RETURN_VALUE = strRETURN_VALUE; SERIAL_NO = strSERIAL_NO; str_yxq = str_temp_yxq.Substring(0,10).Trim();
}

public coupon(string strMEMBER_CODE, string strRETURN_VALUE, string strSERIAL_NO)
{
MEMBER_CODE = strMEMBER_CODE; RETURN_VALUE = strRETURN_VALUE; SERIAL_NO = strSERIAL_NO; // str_yxq = str_temp_yxq.ToString("YYYY-MM-DD");
}

private string strmember_code;

public string MEMBER_CODE
{
get { return strmember_code; }
set { strmember_code = value; }
}

private string returnvalue;

public string RETURN_VALUE
{
get { return returnvalue; }
set { returnvalue = value; }
}

private string serial_no;

public string SERIAL_NO
{
get { return serial_no; }
set { serial_no = value; }
}

private string str_yxq;

public string Str_yxq
{
get { return str_yxq; }
set { str_yxq = value; }
}

}

这个:
private string strmember_code;
public string MEMBER_CODE
{
get { return strmember_code; }
set { strmember_code = value; }
}
二者之间的关系,我只知道,strmember_code 是实际存的值。MEMBER_CODE 这个怎么用呢?
...全文
1380 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
维秀斯丢丢 2018-08-08
  • 打赏
  • 举报
回复

引用 33 楼 wanghui0380 的回复:
结帖把,楼下的兄弟也别挖坟了

这问题你们就是在说破天去,也就楼上那几句了。别天天翻出来占着版面


牛逼! 说的不错。
smileruner 2018-08-07
  • 打赏
  • 举报
回复
说实话,我也不知道为什么要搞两个,一个变量,一个属性。说是保护内部成员,我不知道为什么要保护内部成员。你需要知道的是当你需要保护内部成员不被外部直接访问,但是你得提供一种方式供外部访问,你就需要用到这个属性了。
lovenoerror 2018-08-06
  • 打赏
  • 举报
回复
说的都对 就是私用和公用的问题
wanghui0380 2018-08-03
  • 打赏
  • 举报
回复
结帖把,楼下的兄弟也别挖坟了

这问题你们就是在说破天去,也就楼上那几句了。别天天翻出来占着版面
Chrisfrog 2018-08-03
  • 打赏
  • 举报
回复
这么说吧 属性这个东西最大的功用就是能够重写get和set,同时方便外部的调用比如说下面的代码

public class A
{
private int b;
private int c;
public int A{ get{return b-c;}}

public int GetDifferenceBetweenBAndC()
{
return b-c;
}
}
public class B
{
//用属性获取属性A
A instancea=new A();
instancea.A
//用方法获取b-c也就是获取A
A a=new A();
int defference=a.GetDifferenceBetweenBAndC();
}

泡泡龙 2018-08-02
  • 打赏
  • 举报
回复
1、编程原则不推荐直接访问字段,所以给你提供个属性
2、你可以不用属性,直接访问public的字段,虽然那样的代码很low,但是菜鸟写起来方便
3、如果你的代码是一次性使用,不需要后期的维护,直接用字段也是很好的,省事啊
sinat_36199927 2018-08-01
  • 打赏
  • 举报
回复
这个问题非常好,我也有此疑问
sprints_昊天 2018-07-31
  • 打赏
  • 举报
回复
引用 5 楼 daixf_csdn 的回复:
还写这么老套的代码呢,现在早已经是:
public string MEMBER_CODE { get; set; }了。

你的问题,是要先学习一下,什么是“属性”

一直就想问了 这是谁? 你女朋友??还是网图?
qq_16435051 2018-07-31
  • 打赏
  • 举报
回复
其实是你自己想复杂勒
你在当前类中 私有变量是可以访问到 那出了这个类 私有变量你就访问不到了 这时公共的属性 MEMBER_CODE你就可以访问并且使用到了 这不就是用吗?
xinbada1985 2018-07-31
  • 打赏
  • 举报
回复
C# 的属性,可以更好的方便对于结果集的编辑和使用,可以继承和重写提升编码效率,比如和前台列表数据双向绑定。在使用和操作时候就更加得心应手
E| psy congroo 2018-07-31
  • 打赏
  • 举报
回复
属性访问器,隐式赋值
E| psy congroo 2018-07-31
  • 打赏
  • 举报
回复
属性访问器,隐式赋值
stevenjin 2018-07-30
  • 打赏
  • 举报
回复
MEMBER_CODE是个公开变量,给外界访问的。
_firemoon 2018-07-30
  • 打赏
  • 举报
回复
属性访问器,隐式赋值
qq_42838741 2018-07-30
  • 打赏
  • 举报
回复
private string strmember_code;
public string Strmember_code{
get{
return strmember_code;
}
set{
strmember_code = value;
}
}
ko888888 2018-07-30
  • 打赏
  • 举报
回复
了解了解一下属性的概念就知道了, 简化的可以用public string MEMBER_CODE { get; set; },当然有初始值的, 还得用回老的
number1killer 2018-07-30
  • 打赏
  • 举报
回复
实例类型的属性可以new一个实例再调用。
游北亮 2018-07-30
  • 打赏
  • 举报
回复
到了现在呢,C#又提供了更简单的写法了,就是:
public string Strmember_code{ get; set; }


这一行代码等效于下面这几行:

private string strmember_code;
public string Strmember_code{
get{
return strmember_code;
}
set{
strmember_code = value;
}
}
游北亮 2018-07-30
  • 打赏
  • 举报
回复
首先,不管是哪种语言,都不推荐直接暴露字段给外部访问,比如:

public string strmember_code;

这种写法很容易造成问题,包括后续的扩展、变更,都会有极大的阻碍,
你搜索一下 开闭原则就知道了。

在C#的属性出现之前,是用方法的形式实现的,例如:

private string strmember_code;
public string Get_Strmember_code(){
return strmember_code;
}
public void Set_Strmember_code(string code){
strmember_code = code;
}

// 调用方式如下:
string aaa = xxx.Get_Strmember_code();
xxx.Set_Strmember_code("asdfasdf");


这么写的,比较繁琐,为了简化,所以C#提供了属性,变成了:

private string strmember_code;
public string Strmember_code{
get{
return strmember_code;
}
set{
strmember_code = value;
}
}

// 调用方式如下:
string aaa = xxx.Strmember_code;
xxx.Strmember_code = "asdfasdf";
闭包客 2018-07-30
  • 打赏
  • 举报
回复
C# 的属性,实际上是一个函数,C# 的一个语法糖。

使用属性的好处,也就是函数的好处:1、可以控制读写权限;2、可以继承、重写。

缺点就是代码啰嗦。
加载更多回复(11)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧