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
Susan Sarandonoriginal
2025-01-03 11:05:40854parcourir

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);

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();

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:
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