请教诸位个关于大量变量的写法.

seamanpc 2012-09-27 01:25:19
情况是这样的

namespace PosClient
{
class Store
{
public DateTime update;
public string storeid;
public string storename;
public int number;
public double unitprice;
public double totalprice;
public double income;
public string editer;
public string voucher;
public string remark;
public string vipid;
public bool apart;
public string listid;

public Store(DateTime x1,string x2,string x3,int x4,double x5,double x6,double x7,string x8,string x9,string x10,string x11,bool x12,string x13)
{
update = x1;
storeid = x2;
storename = x3;
number = x4;
unitprice = x5;
totalprice = x6;
income = x7;
editer = x8;
voucher = x9;
remark = x10;
vipid = x11;
apart = x12;
listid = x13;
if (!DataProof()) { MakeThorw(); }
}


这样关于类的声明在构造函数里赋值觉得有些乱有没更好的写法.

一个Store对应dataGridView1里的一行 dataGridView里发生了修改 就联动修改Store里的值


private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{

if (e.ColumnIndex == 1)
{
Store.storeid = "????"
}

if (e.ColumnIndex == 2)
{
Store.x= "????"
}

if (e.ColumnIndex == 3)
{
Store.x= "????"
}

}


这写法觉得有点不对吧,亲手求教希望不吝赐教.该用什么方法能更好的处理这类操作.
...全文
135 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
seamanpc 2012-09-29
  • 打赏
  • 举报
回复
希望代码简短 直观可读性高些.
seamanpc 2012-09-29
  • 打赏
  • 举报
回复
和数据表关系不大,我只是想知道下有没漂亮点的写法,比如params[] 枚举 自定义类型 等这些C# 自带的功能有没有实现这类操作合适的写法,该用什么适合.

[Quote=引用 5 楼 的回复:]

引用 3 楼 的回复:

这类有没有漂亮点的法子 或者用 字符串类的索引来做,比较直观点满屏的[0] [1] [2] [3] 看的眼花.

小东西性能到无所谓了.就想多知道些写法~


变量1=datagirdview.table[0].rows[0][0].value;
变量2=datagirdview.table[0].rows[0][1].value;
...……
[/Quote]

这位仁兄就是一种法子了.还有吗?
种草德鲁伊 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

这个是设计上的问题,
你的开发完全是靠数据结构驱动的,不知道字段你就实现不了功能
所以,你需要把数据库的字段重复的用编程语言再写一遍
如果有500个表,你就要写500遍,
如果每个表有50个字段,每次get或者set都要重复50遍,
这样下来,整个开发就是重复没有技术含量的增删改查,
根本没有精力去搞客户真正关心的业务规则和用户体验

如果不想重复劳动,要从设计文档接口去驱动开发……
[/Quote]

真奇怪,楼主从来没有提到数据表吧。
缪军 2012-09-28
  • 打赏
  • 举报
回复
这个是设计上的问题,
你的开发完全是靠数据结构驱动的,不知道字段你就实现不了功能
所以,你需要把数据库的字段重复的用编程语言再写一遍
如果有500个表,你就要写500遍,
如果每个表有50个字段,每次get或者set都要重复50遍,
这样下来,整个开发就是重复没有技术含量的增删改查,
根本没有精力去搞客户真正关心的业务规则和用户体验

如果不想重复劳动,要从设计文档接口去驱动开发,
这应该是架构师的职责,程序员恐怕没有这个设计能力,也没有颠覆生产手段的权利
seamanpc 2012-09-28
  • 打赏
  • 举报
回复
还有人吗?
zhanglong19891129 2012-09-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

这类有没有漂亮点的法子 或者用 字符串类的索引来做,比较直观点满屏的[0] [1] [2] [3] 看的眼花.

小东西性能到无所谓了.就想多知道些写法~
[/Quote]

变量1=datagirdview.table[0].rows[0][0].value;
变量2=datagirdview.table[0].rows[0][1].value;
.................................
这个不是索引是什么??
反正什么参数随便你.. string[]..datatable.. 都行
  • 打赏
  • 举报
回复
没想到什么好办法。加个重载?

public Store(Dictionary<string, object> ddd)
{
update = (DateTime)ddd["update"];
.......

}
seamanpc 2012-09-27
  • 打赏
  • 举报
回复
这类有没有漂亮点的法子 或者用 字符串类的索引来做,比较直观点满屏的[0] [1] [2] [3] 看的眼花.

小东西性能到无所谓了.就想多知道些写法~
zhanglong19891129 2012-09-27
  • 打赏
  • 举报
回复
你用 datagirdview 做参数撒
然后
变量1=datagirdview.table[0].rows[0][0].value;
变量2=datagirdview.table[0].rows[0][1].value;
.................................
真相重于对错 2012-09-27
  • 打赏
  • 举报
回复
var ob[] = {xxx,yyy,ccc,ddd}
Store.storeid = ob[e.ColumnIndex]

110,825

社区成员

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

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

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