IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

C# Anonymous Object (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 21 avril 2026

Introduction de l'objet anonyme

Les types anonymes en C# fournissent un mécanisme pour encapsuler des propriétés publiques en lecture seule dans un seul objet de type anonyme sans définir explicitement une déclaration de classe formelle. Ils sont utiles pour créer des structures de données à usage unique. Ce sont des types générés par le compilateur qui dérivent directement de System.Object, encapsulant efficacement les propriétés d'objet et servant de conteneurs de données légers et immuables. Ces types sont des classes scellées où le compilateur déduit et génère automatiquement le nom du type, qui reste inaccessible au niveau du code source. Nous découvrirons également IronPDF en tant que bibliothèque PDF pour les projets .NET.

Caractéristiques clés

  • Les types anonymes ont des capacités strictement limitées :
  • Les propriétés sont automatiquement implémentées comme publiques en lecture seule dans la définition de propriété d'un type anonyme.
  • Les utilisateurs ne peuvent pas définir explicitement de méthodes, événements ou autres membres de classe comme les méthodes Equals ou GetHashCode à l'intérieur.
  • Ils ne peuvent pas être initialisés avec des valeurs nulles, des fonctions anonymes ou des types de pointeurs, garantissant ainsi l'intégrité des types anonymes.

Cas d'Utilisation Courants

Opérations LINQ

Les objets de type de données anonymes excellent dans les expressions de requête LINQ, en particulier dans les clauses select pour les objets de type anonyme, où ils renvoient efficacement des sous-ensembles de propriétés spécifiques à partir d'objets plus grands. Cette approche optimise l'utilisation de la mémoire en créant des objets temporaires contenant uniquement les données nécessaires.

Groupement de données temporaires

Ils servent de conteneurs efficaces pour les structures de données temporaires lorsqu'il serait excessif de créer une classe formelle. Cela est particulièrement utile pour les transformations de données de courte durée ou les calculs intermédiaires.

Encapsulation des propriétés

Le type de données anonyme fournit un moyen simple de regrouper les propriétés d'objet liées en utilisant des propriétés en lecture seule. Le compilateur garantit la sécurité des types tout en maintenant une syntaxe concise pour l'accès aux propriétés.

Syntaxe et structure

La création de types anonymes suit un modèle spécifique utilisant le mot-clé var avec l'opérateur new et la syntaxe de l'initialiseur d'objet. Le compilateur génère automatiquement un nom de type qui reste inaccessible au niveau du code source.

var person = new { FirstName = "Iron", LastName = "Dev", Age = 35 }; // public int age in this anonymous type

Règles d'initialisation des propriétés

Le compilateur impose des règles strictes pour l'initialisation des propriétés dans les types anonymes. Toutes les propriétés doivent être initialisées lors de la création de l'objet et ne peuvent pas être affectées à des valeurs nulles ou à des types de pointeurs. Une fois initialisées, les valeurs des propriétés peuvent être accessibles en utilisant la notation par points standard, mais elles ne peuvent pas être modifiées après l'initialisation en raison de leur nature en lecture seule.

Inférence et correspondance des types

var person1 = new { Name = "Iron", Age = 30 };
var person2 = new { Name = "Dev", Age = 25 };

Le compilateur génère des informations de type identiques pour les types anonymes avec des noms de propriétés, des types et un ordre correspondants. Cela permet la compatibilité des types entre les instances à utiliser dans les collections ou passées en tant que paramètres de méthode au sein du même ensemble.

Types anonymes imbriqués

Les types de données anonymes prennent en charge des structures imbriquées complexes avec des propriétés d'objet de type anonyme. Cela est utile pour la création de représentations de données hiérarchiques :

var student = new {
    Id = 1,
    PersonalInfo = new {
        Name = "James",
        Contact = new {
            Email = "james@email.com",
            Phone = "123-456-7890"
        }
    },
    Grades = new { Math = 95, Science = 88 }
};

Opérations de collection

Les types anonymes excellent dans les scénarios impliquant la manipulation de collections et la transformation de données :

var items = new[] {
    new { ProductId = 1, Name = "Laptop", Price = 1200.00m },
    new { ProductId = 2, Name = "Mouse", Price = 25.99m },
    new { ProductId = 3, Name = "Keyboard", Price = 45.50m }
};

IronPDF : Bibliothèque PDF en C#

IronPDF est une bibliothèque puissante pour générer, éditer et gérer des documents PDF dans des applications .NET. Lorsqu'ils travaillent avec C#, les développeurs utilisent souvent des objets anonymes pour des structures de données légères et ad hoc, en particulier dans les scénarios où il n'est pas nécessaire de créer une classe entière. Ces objets anonymes peuvent être utilisés de manière transparente avec IronPDF pour créer des documents PDF dynamiquement. Cela aide à créer une solution flexible pour des flux de travail de données vers PDF rapides. Voici un exemple pour illustrer comment IronPDF fonctionne avec des objets anonymes :

Exemple : Utilisation d'objets anonymes pour remplir un PDF

Imaginez que vous avez une liste de données de vente que vous souhaitez rendre sous forme de tableau dans un PDF. Au lieu de créer une classe formelle, vous pouvez utiliser un objet anonyme pour formater rapidement les données pour le rendu.

using IronPdf;
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        // Set your IronPDF license key here
        License.LicenseKey = "Your-Licence-Key";

        // Sample data using anonymous objects
        var salesData = new[]
        {
            new { Product = "Laptop", Quantity = 2, Price = 1200.50 },
            new { Product = "Smartphone", Quantity = 5, Price = 800.00 },
            new { Product = "Headphones", Quantity = 10, Price = 150.75 }
        };

        // Create an HTML string dynamically using the anonymous object data
        var htmlContent = @"
        <html>
        <head><style>table {border-collapse: collapse;} th, td {border: 1px solid black; padding: 5px;}</style></head>
        <body>
        <h1>Sales Report</h1>
        <table>
            <thead>
                <tr>
                    <th>Product</th>
                    <th>Quantity</th>
                    <th>Price</th>
                </tr>
            </thead>
            <tbody>
                " +
            string.Join("", salesData.Select(item =>
                $"<tr><td>{item.Product}</td><td>{item.Quantity}</td><td>{item.Price:C}</td></tr>")) +
            @"
            </tbody>
        </table>
        </body>
        </html>";

        // Generate the PDF
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF
        pdf.SaveAs("SalesReport.pdf");
        Console.WriteLine("PDF generated successfully!");
    }
}

Objet anonyme C# (Comment ça fonctionne pour les développeurs) : Figure 1 - Sortie console de l'exemple de code ci-dessus

Conclusion

Les types anonymes en C# fournissent un moyen flexible et efficace de créer des structures de données temporaires sans avoir besoin de déclarations de classe formelles. Ils sont particulièrement utiles lors du travail avec des requêtes LINQ, des transformations de données et des bibliothèques comme IronPDF. La combinaison des types anonymes avec les capacités de génération PDF d'IronPDF offre une solution puissante pour créer des PDF dynamiques et pilotés par les données avec un minimum de surcharge de code.

IronPDF permet aux développeurs de tester ses fonctionnalités grâce à un essai gratuit, ce qui facilite l'exploration de ses capacités dans vos applications .NET. Les licences commerciales commencent à $999 et donnent accès à l'ensemble complet de fonctionnalités, y compris le rendu HTML-vers-PDF à haute performance, l'édition de PDF et les fonctionnalités de sécurité.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $