Maison > développement back-end > C++ > Existe-t-il un moyen plus court de convertir une liste en liste en C# ?

Existe-t-il un moyen plus court de convertir une liste en liste en C# ?

Susan Sarandon
Libérer: 2025-01-03 11:05:40
original
910 Les gens l'ont consulté

Is There a Shorter Way to Cast a List to a List in C#?

Syntaxe plus courte pour la diffusion à partir d'une liste vers une liste

La conversion d'une liste d'éléments d'un type à un autre peut souvent être réalisée en utilisant l'approche suivante :

List<Y> ListOfY = new List<Y>();

foreach (X x in ListOfX)
    ListOfY.Add((Y)x);
Copier après la connexion

Cependant, cette méthode nécessite de convertir chaque élément article individuellement, ce qui peut être fastidieux. N'existe-t-il pas un moyen plus concis de diffuser la liste entière en une seule étape ?

Réponse

Oui, le Cast<> La méthode d'extension dans l'espace de noms System.Linq fournit une syntaxe concise pour lancer une liste. Voici comment vous pouvez l'utiliser :

List<Y> listOfY = listOfX.Cast<Y>().ToList();
Copier après la connexion

Gardez à l'esprit les points suivants :

  • Importez le fichier using System.Linq ; espace de noms.
  • Cette méthode convertit chaque élément de la liste, pas la liste elle-même. La méthode ToList() est utilisée pour créer une nouvelle liste List avec les éléments coulés.
  • Cast<> ne prend pas en charge les opérateurs de conversion personnalisés. Dans de tels cas, vous devrez peut-être recourir à l'approche de boucle de diffusion explicite présentée précédemment.
  • Cast<> ne fonctionne pas pour les objets avec des méthodes d'opérateur explicites (framework 4.0).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal