我使用此代码在我的选择器上获取所选项目:
var loanType = picker.Items[picker.SelectedIndex];
我想在未选择任何内容时验证选取器,但它返回:
System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index'
我知道这是因为没有选择任何东西,所以我想问一下是否有任何解决方法。我使用语法picker.Items[picker.SelectedIndex];
而不是pickerPaymentMode.SelectedIndex
因为选取器的项目源来自通过 API 的 JSON 响应返回的列表
如果在选取器中未选择任何内容,则picker.SelectedIndex
的值为-1。
因此,您可以在每次使用picker.SelectedIndex
时检查:
if (picker.SelectedIndex != null && picker.SelectedIndex >=0)
{
var loanType = picker.Items[picker.SelectedIndex];
}
else
{
Console.WriteLine(picker.SelectedIndex);
}