我正在嘗試將匹配返回到包含在列表中的Foreach語句。 我有一個類有一個字符串列表,我用它作爲一個軌道集合。返回List <>類型的屬性
我試圖執行一個檢查,看看我傳入的給定音軌是否與存儲在對象(CD.cs)中的任何音軌匹配,如果是這樣,則返回整個CD的詳細信息。
我不確定如何如此,不幸的是,我沒有像我應該做的那樣使用列表。
這裏的軌道特性的一個片段:(虛擬因爲我重寫它在另一個類)
public virtual List<string> Track
{
get
{
return _track;
}
set
{
value = _track;
}
}
這裏是我想要使用返回匹配的方法,很容易看到我想我錯了。 :
public CD FindTrackInCD(string track)
{
foreach (CD testCD in _cdCollection)
{
**//If given track matches any tracks in the list
if (testCD.Track == track)
{
//Return the matching CD
return trackInCD;
}**
}
throw new ArgumentException("No matches found");
}
的方法我已經大膽的問題區域,我的編譯器顯示我這樣的警告:
Operator '==' cannot be applied to operands of type 'System.Collections.Generic.List<string>' and 'string'
任何人都可以闡明如何解決這一問題的一些輕?
謝謝!
我不知道,如果它只是一個錯字,但你有另外一個問題是,您的跟蹤二傳手是落後的 - 它應該設置'_track = value'不'價值= _track' – Aaron
這很奇怪,因爲我沒有注意到它,因爲它似乎仍然工作,我不能相信我已經做到了誠實(太多的深夜),但我會修復它,以防萬一,謝謝=] –
作爲一個方面說明,通常不建議具有集合類型的可設置屬性。我們的想法是,這樣的集合應該僅由通過屬性公開它們的對象來擁有 - 所以它在其構造函數中創建一個實例,然後同一個實例總是由getter返回。客戶可合理地期望從此類財產獲得對收集的引用,並假定它將始終引用與該對象相關的「實時」收藏。 –