问题描述
我正在自学Xamarin形式。在学习期间,我使用了此代码,但我不理解部分代码-(TripLogEntry)e
。
a)为什么括号中有TripLogEntry?
b)在文学中如何称呼/命名,以及
c)它有什么作用/该括号的目的是什么?
async void Trips_SelectionChanged(object s,SelectionChangedEventArgs e)
{
var trip = (TripLogEntry)e.CurrentSelection.FirstOrDefault();
if (trip != null)
{
await Navigation.PushAsync(new DetailPage(trip));
}
// Clear selection
trips.SelectedItem = null;
}
解决方法
这些是括号:()
,而不是括号:[]
或花括号:{}
,这称为铸造。这里有一些不错的文档:Casting and Type Conversions。
在这种情况下,这意味着e.CurrentSelection.FirstOrDefault()
将显式转换为TripLogEntry
的实例(而不只是object
)。
那些是括号“()”-方括号是“ []”
这是C#casting运算符-它将一种类型的变量转换为另一种类型
var trip = (TripLogEntry)e.CurrentSelection.FirstOrDefault();
在这种情况下,CurrentSelection
是object
,您想将其转换为类型TripLogEntry
您正在将 e.CurrentSelection.FirstOrDefault(); 投射到TripLogEntry