这段代码中括号的含义是什么

问题描述

我正在自学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();

在这种情况下,CurrentSelectionobject,您想将其转换为类型TripLogEntry

,

您正在将 e.CurrentSelection.FirstOrDefault(); 投射到TripLogEntry