本質上,我有帶參數的函數: ContainsValue(IEnumerable collection, object obj)我需要使用 Equals()Contains檢查集合obj 。具體來說,collection 是一個字符串數組,而 obj 是一個自定義類型/類(它稱為 FString,我不完全理解它是什么,但它至少在某種程度上是從字符串派生的)。不幸的是,解決方案需要是通用的,所以我不能明確引用自定義類型。所以我需要一種方法將 obj 轉換為集合的任何類型。這可能嗎?編輯:static bool ContainsValue(IEnumerable collection, object obj){ // cast obj into same type as collection elements foreach(var element in collection) { if() // element equals obj { return true; } } return false;}
3 回答

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
您可以像這樣使用它(如果您可以訪問集合的字段):
string objAsString = obj?.ToString() ?? "";
if(collection.Any(x => x.field == objAsString))
{
//Do something...
}
- 3 回答
- 0 關注
- 219 瀏覽
添加回答
舉報
0/150
提交
取消