作者kenbill8899 (Yen-j)
看板C_Sharp
标题[问题]c# 回圈的问题
时间Wed Oct 19 23:34:08 2016
这是我c#程式码
if(trackBar1.Value.ToString()=="0")
{
arr4[0]="0";
arr4[1] = "0";
arr4[2] = "0";
}
if (trackBar1.Value.ToString() == "1")
{
arr4[0] = "0";
arr4[1] = "3";
arr4[2] = "2";
}
if (trackBar1.Value.ToString() == "2")
{
arr4[0] = "0";
arr4[1] = "6";
arr4[2] = "4";
}
想问说因为我光是trackBar1做的判断就有9个(因为太多就撷取一小部分)
而我还有 trackBar2、trackBar3......(共12个)要做同样的判断方式存到
阵列里
大概的情况像下方 如同上面打的 只是有些许差异
if (trackBar2.Value.ToString() == "0")
{
arr5[0] = "0";
arr5[1] = "0";
arr5[2] = "0";
}
if (trackBar2.Value.ToString() == "1")
{
arr5[0] = "0";
arr5[1] = "3";
arr5[2] = "2";
}
想问说有甚麽快速的作法 能减少程式的撰写
之前想说不知道能不能用
int i=1
while(i<13)
if (trackBari.Value.ToString() == "1")
{
arr5[0] = "0";
arr5[1] = "3";
arr5[2] = "2";
}
但发现不能使用 请问还有其他方法能够减少程式吗
希望有人能够指点我一下 谢谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.205.99.173
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1476891250.A.573.html
1F:推 yeo1987: 判断的部分可以改成switch case 10/19 23:43
谢谢您的建议!!
2F:推 gary0942767: array长度固定的话,可以用array[,]来储存 10/19 23:53
3F:推 gary0942767: trackbar如果是winform的元件,可以用controls.find 10/19 23:57
请问您能够讲详细一点吗
因为我有点不太懂 希望你能教学一下
4F:→ gary0942767: 来找出指定元件,再搭配转型作判断 10/19 23:57
5F:推 YahooTaiwan: arr5[] 要塞的值有规则吗? 10/20 00:09
基本上要看trackbar读到什麽
arr5才会决定存什麽
※ 编辑: kenbill8899 (27.246.72.141), 10/20/2016 00:15:37
※ 编辑: kenbill8899 (27.246.72.141), 10/20/2016 00:20:17
※ 编辑: kenbill8899 (27.246.72.141), 10/20/2016 00:21:34
6F:推 gary0942767: 修正一下,如果元件确定存在,可以直接从父层的contr 10/20 08:47
7F:→ gary0942767: ols取出,我以textbox举例,有三个元件名称为tbx1-3, 10/20 08:47
8F:→ gary0942767: 用this.controls[tbx1]可以取出tnx1,因为取出来型态 10/20 08:47
9F:→ gary0942767: 为control,所以要转型为textbox,才可以拿来使用 10/20 08:47
10F:推 gary0942767: 程式可以改为,在for底下组出元件名称,用controls[ 10/20 09:00
11F:→ gary0942767: 元件名称]取出,然後判断value,将值给进array[,]里 10/20 09:00
12F:→ Litfal: 初始化时,把trackbar和array做配对塞到字典里,或是把 10/20 13:14
13F:→ Litfal: array指派给trackbar.Tag做配对。 10/20 13:15
14F:推 outofyou: 推字典,输入资料与输出资料的对应,除非你有特别规律 10/21 15:24
15F:→ outofyou: 要不然想简化if的程式码,就是用读取字典的方式来做。 10/21 15:25
16F:推 vi000246: 我在java板的这篇你可以看一下 是C# code #1O1jA9lr 10/21 22:18
17F:→ vi000246: 字典可以扩充 有几个判断就加几个键值 10/21 22:19
18F:→ testPtt: if要else避免全部if都跑 10/22 18:23
19F:推 yzfr6: 判断式可以用一个函式或Class取代 10/25 13:53
20F:→ yzfr6: switch case 可以用其它方式取代 10/25 13:53