मेरे पास मुझे क्या चाहिए सूची सूची से सरणी सूची से मिलान करना है। यदि सूची में एक आइटम देखने और सरणी सूची में नहीं, तो इसे सूची दृश्य से हटाया जाना चाहिए। यदि सूची दृश्य या ऐरे सूची में नहीं है, तो उसे सूची दृश्य में जोड़ें। यह कुछ कोड है: यह कोड चेक के बिना सूची दृश्य में सभी सरणी सूची आइटम जोड़ता है आप पहले आपको संपादित करें : चूंकि आप निश्चय है कि आप केवल सूची सूची से आइटम निकालना चाहते हैं जो कि ArrayList में नहीं हैं और उन आइटम को जोड़ने के लिए जो सूचीई दृश्य में नहीं हैं, लेकिन ArrayList में हैं उदाहरण के लिए: ArrayList है जिसमें कुछ हैशटैबल्स है और मेरे पास है एक ListView जिसमें कुछ आइटम हैं।
ArrayList online_list = उपयोगकर्ताओं; Foreach (online_list में हैशटेबल) {ListViewItem आइटम = नया ListViewItem (); Item.Text = (स्ट्रिंग) i ["u_name"]; Item.Name = (स्ट्रिंग) i ["id"]; Item.ImageIndex = 0; lstvUsers.Items.Add (आइटम); } ListView के सभी आइटम कर सकते हैं, फिर ArrayList में सभी जोड़ें:
lstvUsers.Clear ( ); Foreach (online_list में हैशटेबल) {ListViewItem आइटम = नया ListViewItem (); Item.Text = (स्ट्रिंग) i ["u_name"]; Item.Name = (स्ट्रिंग) i ["id"]; Item.ImageIndex = 0; lstvUsers.Items.Add (आइटम); } ListView.Items.Clear के बजाय का उपयोग करना चाहिए यह दृष्टिकोण काफी कम कुशल है, क्योंकि आपको सूची आइटम में प्रत्येक आइटम को तुलना करने के बजाय ArrayList (और उपाध्यक्ष) में प्रत्येक आइटम की तुलना करने की आवश्यकता है।
var addItems = online_list .Cast & lt; हैशटेबल & gt; ()। जहां (एचटी = & gt;! LstvUsers.Items.ContainsKey ((स्ट्रिंग) ht ["id"])); Var removeItems = lstvUsers.Items .Cast & lt; ListViewItem & gt; ()। जहां (lvi = & gt;! Online_list.Cast & lt; हैशटेबल & gt; ()। कोई भी (एचटी = & gt; (स्ट्रिंग) ht ["id"] == lvi.Name )); फोरछा (हटायेंइयेम में हटाए गए आइटम) {lstvUsers.Items.Remove (removeItem); } Foreach (addItems में var addHashTable) {ListViewItem आइटम = नया ListViewItem (); Item.Text = (स्ट्रिंग) addHashTable ["u_name"]; Item.Name = (स्ट्रिंग) addHashTable ["id"]; lstvUsers.Items.Add (आइटम); }
Comments
Post a Comment