台灣最大程式設計社群網站
線上人數
1617
 
會員總數:240909
討論主題:186668
歡迎您免費加入會員
討論區列表 >> VB.NET >> 控制項陣列可以用Array.IndexOf搜尋值嗎?
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
控制項陣列可以用Array.IndexOf搜尋值嗎?
價值 : 50 QP  點閱數:154 回應數:6

樓主

梨子
門外漢
0 23
985 51
發送站內信


請問各位大大先進~
我有一組CheckBox的陣列,以往我都是使用For迴圈去找CheckState的值,可以使用Array.IndexOf去搜尋嗎?

搜尋相關Tags的文章: [ 控制項陣列 ] , [ Array IndexOf ] ,
本篇文章發表於2017-09-25 11:49
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

誰是誰
檢舉此回應
建議你先看一下 IndexOf 的用法 Array.IndexOf
他是用來取得 "某的東西" 在陣列中的 "索引",所以在你的情境當然用不上。
不想自己寫迴圈,那就學一下 Linq
本篇文章回覆於2017-09-25 15:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

梨子
檢舉此回應
謝謝大大的回覆
我就是要取得"索引"才去取值的
所以您說的"某的東西"不能是"控制項"嗎?
小弟對Linq使用不是很明白,還在研究中...
您可以指點一二嗎?
本篇文章回覆於2017-09-25 16:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

誰是誰
檢舉此回應
"某個東西" 可以是控制項, 但你都知道他是哪個控制項了,不就直接可以取值了嗎 ?
這時候 Array.IndexOf 的意義是甚麼 ?
LINQ (Visual Basic 中的 [如何?])
本篇文章回覆於2017-09-25 16:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

梨子
檢舉此回應
謝謝大大回覆
我的表單有一個FlowLayoutPanel
我會動態新增好幾個CheckBox
以往我的方式都是用For迴圈尋找哪一個CheckBox得值為True
但是如果有100~200個CheckBox
那應該效率上會變得很慢吧
如果把CheckBox存在陣列
再用Array.IndexOf尋找True應該會快一些
本篇文章回覆於2017-10-02 11:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Ader Chen
檢舉此回應
Array.IndexOf:搜尋指定的物件,並傳回一維陣列中第一個相符項目的索引。
是已經知道是那一個物件了, 想知道索引.
而 4 樓描述是已知屬性, 想知道是哪個物件. 兩者不同.

若嫌事後迴圈尋找慢, 或可換個方式在事件發生當時就記下是哪個物件,
參考看看:

本篇文章回覆於2017-10-02 13:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

梨子
檢舉此回應
感謝Ader Chen大大的解說
我的後來想到解決的方式跟你差不多
也是使用CheckedChanged事件
宣告一個陣列來記錄勾選的CheckBox
好像也只能這樣子了吧!!想不出有什麼更好的方法~~
謝謝你的解答~
本篇文章回覆於2017-10-02 16:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.