被推荐到csdn首页 文章;的一个 疑问!

l171147904 2010-01-23 10:38:45
原帖:

http://topic.csdn.net/u/20100122/22/8c839767-a41d-423f-836d-147135f95aed.html?seed=1082236102&r=62943372#r_62943372

推荐MSDN首页贴:
http://blog.csdn.net/vip__888/archive/2010/01/21/5221635.aspx

本人疑问:
我把 被推荐贴 改如下:
public class Muliti
{
public Muliti()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
public string[] test1;
public object[] test2;
public int[] test3;

public void setUpArray()
{
test1 = new string[3];
test2 = new object[2];
test3 = new int[4];
}
}



protected void btnclick(object sender, EventArgs e)
{
Muliti mm = new Muliti();
mm.setUpArray();
mm.test1[0] = "test1-0";
mm.test2[0] = "test2-0";
mm.test3[0] = 3;

}


对于这两种方式的 优缺点;;;不是很明!
望 指导。。。
...全文
276 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
l171147904 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 qldsrx 的回复:]
显然被推荐的文章所执行的效率并不高,是一种低效的行为,但是也有它的好处,也就是说,他这样访问数组中成员的时候,可以全部通过变量来访问了,两个索引项都是可变变量也没问题,楼主你这种写法肯定不行,至少需要手动指定一个数组对象后才能使用索引,索引内可以传递整型ID变量。

不过我倒是有另一个疑问了,这样的索引第一次看到过,微软考虑过对它的反射调用了吗?反射方法中有关索引的反射只支持一个索引ID传递,不支持其它参数的传递,那么反射该索引属性该如何做呢?
[/Quote]

说的不错,的确!推荐文章:做到 2个索引都使用 变量!(改善维护性)
效率方面是否不够?
我的写法不行?不行在哪里?没说明白。。。

至于 反射
new object[] { "key",0} 行?
l171147904 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 deyter 的回复:]
我觉得他的方式好些,
好多书上讲,在内部使用的,建议定义成私有和保护的
需要供外部使用的,都建议定义public的属性,
[/Quote]

内部当然 私有!
问题,他哪东西就 拿来给外部用的。。。
l171147904 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 danjiewu 的回复:]
2种方式可能都是需要的,你的方式和推荐贴的方式并不冲突
[/Quote]

说的好!
能 简单说下 各自好,坏? 或则什么时候用哪个较好?
liuy052 2010-01-25
  • 打赏
  • 举报
回复
路过,顶起。
qldsrx 2010-01-25
  • 打赏
  • 举报
回复
显然被推荐的文章所执行的效率并不高,是一种低效的行为,但是也有它的好处,也就是说,他这样访问数组中成员的时候,可以全部通过变量来访问了,两个索引项都是可变变量也没问题,楼主你这种写法肯定不行,至少需要手动指定一个数组对象后才能使用索引,索引内可以传递整型ID变量。

不过我倒是有另一个疑问了,这样的索引第一次看到过,微软考虑过对它的反射调用了吗?反射方法中有关索引的反射只支持一个索引ID传递,不支持其它参数的传递,那么反射该索引属性该如何做呢?
danjiewu 2010-01-25
  • 打赏
  • 举报
回复
比如说,你要把DataGridView或者GridView的某一列隐藏掉。如果仅仅针对的是特定的列,那么用直接引用就可以了。但也有可能需求是用户要能自己选择需要隐藏的列,那么你要把所有列名都列出来,然后在用户选择之后用Columns["列名"]这样的方式得到该列。
这是很实际的一个例子。
lanfeinigal 2010-01-23
  • 打赏
  • 举报
回复
顶!
danjiewu 2010-01-23
  • 打赏
  • 举报
回复
比如说Winform的Control,既可以通过直接引用保证代码的正确性,又可以用FindControl或者遍历Controls得到Control对象,保证了灵活性。少了哪一种都会很不方便。
dahaidao 2010-01-23
  • 打赏
  • 举报
回复
帮顶吧.
wiki14 2010-01-23
  • 打赏
  • 举报
回复
路过帮顶~
danjiewu 2010-01-23
  • 打赏
  • 举报
回复
2种方式可能都是需要的,你的方式和推荐贴的方式并不冲突
twistmost 2010-01-23
  • 打赏
  • 举报
回复
我还是喜欢你这种用法。推荐帖的写法把静态能检查的错误漏到运行时检查。从设计上看也没什么优点。
l171147904 2010-01-23
  • 打赏
  • 举报
回复
UP.........
ch46485f 2010-01-23
  • 打赏
  • 举报
回复
sf
deyter 2010-01-23
  • 打赏
  • 举报
回复
我觉得他的方式好些,
好多书上讲,在内部使用的,建议定义成私有和保护的
需要供外部使用的,都建议定义public的属性,
vip__888 2010-01-23
  • 打赏
  • 举报
回复
两种方式都可
如果只是为了性能而讨论
欢迎。。。优缺点
这个我还真不清楚

110,539

社区成员

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

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

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