2012-02-29 30 views
23

Tôi đang cố xóa một khóa khỏi từ điển của mình nếu khóa là một khóa nhất định.Xóa Khóa khỏi Từ điển bằng tên khóa

ParameterList là một dictionary<string,string>

parameterList.Remove(parameterList.Where(k => String.Compare(k.Key, "someKeyName") == 0)); 
+5

Câu hỏi của bạn không chứa câu hỏi. – phoog

+0

Mã của bạn sẽ đánh bại mục đích của từ điển. Tránh sử dụng LINQ với từ điển. – Groo

+1

Tôi sẽ luôn xem xét [tài liệu MSDN] (http://msdn.microsoft.com/en-us/library/kabs04ac.aspx) trước tiên. IMHO đây là nơi tốt nhất để bắt đầu khi tìm kiếm câu trả lời cho câu hỏi .Net API/SDK. – Samsinite

Trả lời

47

này nên là đủ:

parameterList.Remove(key); 
21

Đơn giản chỉ cần loại bỏ bởi chính:

parameterList.Remove("someKeyName"); 

Để kiểm tra:

if (parameterList.Remove("someKeyName")) 
{ 
    // key removed 
} 
else 
{ 
    // dictionary doesn't contain above key 
} 
+0

Tôi cũng phải bằng cách nào đó kiểm tra xem liệu khóa đó tồn tại sau đó đầu tiên tôi đoán, nếu không tôi sẽ nhận được một ngoại lệ ref null nếu nó không. – PositiveGuy

+6

@CoffeeAddict, Nếu từ điển không chứa khóa này, 'Remove' trả về false, nếu không -' true'. –

+0

có thể là một cái gì đó như if (parameterList ["someKeyName]! = Null) parameterList.Remove (" someKeyName "); – PositiveGuy

Các vấn đề liên quan