请教关于 get/set 的问题

没花鹿 2010-04-22 01:32:34
大脑转不过来了,请大家给予帮助了:

public class a
{
private int i;
private string[] s = new string[10];

public int i_int
{
get { return i; }
set { i = value; }
}

public string ???
{
??? (get/set)
}
}

针对数组成员操作,上面的 ??? 咋整(能用get/set表达吗?)?

目前我在用笨办法:
public void put_s(int i,string t)
{
s[i] = t;
}
public string get_s(int i)
{
return s[i];
}
---这得写2遍,不好看不说,还得记清楚...再说了,有新东西不学不用的话也说不过去吧...
...全文
108 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
taikonhmao67 2010-04-22
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分
没花鹿 2010-04-22
  • 打赏
  • 举报
回复
namespace DimApp
{
public class DimClass
{
private int i;
private string[] s = new string[10];

public string [] S
{
get { return this.s; }
set { this.s = value; }
}
}
}
====================================================================

private void button1_Click(object sender, EventArgs e)
{
DimClass a = new DimClass();

a.S[0] = "sdfasg";
MessageBox.Show(a.S[0].ToString());
}



分享哈.
没花鹿 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sxiaohui8709253 的回复:]
引用 1 楼 liuyileneal 的回复:
你这个要传两个参数啊。。。要这么用吧。
不过通过索引器可以解决,但是要通过类名来访问
public string this[int index]
{
get
{
return s[index];
}
set
{
s[index] = value
}
}


这样很对
如果对数组加属性
public string……
[/Quote]


照你这段试,终于实现了:
a.S[i]="asdgdfghdf";

谢谢了,也多谢前面好几位了.结帖(平均散分)
没花鹿 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 koukoujiayi 的回复:]
因为是根据你的代码,先设置i所得到的,
调用:
a A = new a();
A.i_int = 0;
A.put_s= "5";
Response.Write(A.put_s.ToString());
[/Quote]

唉! 这样使用貌似不美观啊.
sxiaohui8709253 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuyileneal 的回复:]
你这个要传两个参数啊。。。要这么用吧。
不过通过索引器可以解决,但是要通过类名来访问
public string this[int index]
{
get
{
return s[index];
}
set
{
s[index] = value
}
}
[/Quote]

这样很对
如果对数组加属性
public string [] S
{
get{return this.s;}
set{this.s=value;}
}
Peter200694013 2010-04-22
  • 打赏
  • 举报
回复
还是用二楼的Indexer吧...
koukoujiayi 2010-04-22
  • 打赏
  • 举报
回复
因为是根据你的代码,先设置i所得到的,
调用:
a A = new a();
A.i_int = 0;
A.put_s= "5";
Response.Write(A.put_s.ToString());
xuji911 2010-04-22
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
没花鹿 2010-04-22
  • 打赏
  • 举报
回复
3楼代码试验:
namespace DimApp
{
public class DimClass
{
private int i;
private string[] st = new string[3];

public string put_s
{
set { s[i] = value; }
get { return s[i].ToString(); }
}
}
}

=========================================
private void button1_Click(object sender, EventArgs e)
{
DimClass a = new DimClass();

a.put_s[0] = textBox1.Text.ToString().Trim();
a.put_s[1] = textBox2.Text.ToString().Trim();
a.put_s[2] = textBox3.Text.ToString().Trim();

MessageBox.Show(a[0]+" "+a[1]+" "+a[2]);
}


结果:
无法对属性或索引器"string this[int]"赋值 -- 它是只读的


liuh6 2010-04-22
  • 打赏
  • 举报
回复
这种情况应该用索引!
没花鹿 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuyileneal 的回复:]
你这个要传两个参数啊。。。要这么用吧。
不过通过索引器可以解决,但是要通过类名来访问
public string this[int index]
{
get
{
return s[index];
}
set
{
s[index] = value
}
}
[/Quote]

你的代码试验如下:
namespace DimApp
{
public class DimClass
{
private string[] st = new string[3];

public string this[int index]
{
get { return st[index];}
set { st[index] = value; }
}
}
}
-------------------------------
使用:
private void button1_Click(object sender, EventArgs e)
{
DimClass a = new DimClass();

a[0] = textBox1.Text.ToString().Trim();
a[1] = textBox2.Text.ToString().Trim();
a[2] = textBox3.Text.ToString().Trim();



MessageBox.Show(a[0]+" "+a[1]+" "+a[2]);
}

-------结果对,但过程嘛:这种a[i]倒象是个数组对象,呵呵,第二个我没看明白


我再试验一下3楼的
itliyi 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 koukoujiayi 的回复:]

.....
public string put_s
{
set { s[i] = value; }
get { return s[i].ToString(); }
}
}
[/Quote]
没花鹿 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liuyileneal 的回复:]
访问的时候a instanceA = new a();
a[1] = "a";会把s[1]赋成"a"
访问s[1]的时候通过a[1]访问
[/Quote]
3Q,我先试一下
koukoujiayi 2010-04-22
  • 打赏
  • 举报
回复
.....
public string put_s
{
set { s[i] = value; }
get { return s[i].ToString(); }
}
}
liuyileneal 2010-04-22
  • 打赏
  • 举报
回复
访问的时候a instanceA = new a();
a[1] = "a";会把s[1]赋成"a"
访问s[1]的时候通过a[1]访问

liuyileneal 2010-04-22
  • 打赏
  • 举报
回复
你这个要传两个参数啊。。。要这么用吧。
不过通过索引器可以解决,但是要通过类名来访问
public string this[int index]
{
get
{
return s[index];
}
set
{
s[index] = value
}
}

110,529

社区成员

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

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

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