国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison développement back-end Tutoriel C#.Net C# Learning Diary 28 --- Indexeur, indexeur surchargé

C# Learning Diary 28 --- Indexeur, indexeur surchargé

Jan 21, 2017 pm 03:39 PM

Les indexeurs permettent d'indexer les instances de classes ou de structures comme un tableau. Lorsque vous définissez un indexeur pour une classe, la classe se comportera comme un tableau. Vous pouvez utiliser l'accesseur de tableau '[]' pour cela. on accède à la classe. L'indexeur est similaire à l'attribut, mais l'indexeur prend des paramètres (on peut aussi penser que l'indexeur est un attribut d'une classe, qui est également implémenté via un accesseur (une méthode spéciale))

Pour que ce soit plus clair, donnons un exemple. L'université est la période la plus tranquille de la vie. Les étudiants peuvent faire beaucoup de choses qu'ils voulaient faire mais qu'ils n'ont pas faites pour diverses raisons. 1.. Afin d'arrêter le comportement de sauter des cours, à chaque fois en classe, l'enseignant appellera le nom ou le numéro de l'élève. Je suis en classe 4. L'enseignant aime appeler le numéro de l'élève, "Classe 4 n°1". " puis répondez à voix haute " à... " ", " Classe 4, n° 2", " Classe 4, n° 3 "... " N° 3. Camarade de classe. ", " Le professeur HC666 a mal au ventre et est parti à l'h?pital aujourd'hui." (Bonjour, Chine. Colocataire ^_^), "Oh, n°4"... L'appel du professeur est un index de la classe 4.

Si class4 est considéré comme un objet instancié par la classe Classes, class[1] est l'index du camarade de classe n°1, (pensez au tableau et vous comprendrez) alors comment l'implémenter ?

Définir l'indexeur?:

Comme mentionné ci-dessus, les indexeurs sont similaires aux propriétés. Naturellement, les accesseurs get et set sont également indispensables. Défini, comme suit :

   public 返回值類型 this[參數(shù)類型 參數(shù)]  
             {
                                 get { return 參數(shù)指定的值;   }    //get訪問器
                    set {  /*設(shè)置參數(shù)指定的值 */    }     //set訪問器
            }

Instance de l'indexeur :

Nous coderons l'exemple ci-dessus comme suit :

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test1  
{//定義一個能被索引的類  
    class Classes  
    {//對類的索引實質(zhì)是對類中數(shù)組的索引  
       public string[] StudentName=new string[6];  
        //定義索引器  
       public string this[int ID]  
       {  
           get { return StudentName[ID]; }  
           set { StudentName[ID] = value; } //set訪問器自帶value參數(shù)  
         
       }  
      
    }  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Classes class4 = new Classes();  
            //索引寫入  
            for (int i = 1; i < 6; i++)  
            {  
                class4[i] = "HC"+i;  
            }  
            //索引讀出  
            for (int j = 1; j < 6; j++)  
            {  
                Console.WriteLine(j+"號\t"+class4[j]);  
            }  
              
        }  
    }  
}

Résultat :

C# Learning Diary 28 --- Indexeur, indexeur surchargé

Recharger l'indexeur?:

Dans le programme ci-dessus, nous avons indexé le nom de l'étudiant via le numéro d'étudiant, alors comment y parvenir par son nom Quoi sur l'indexation du numéro d'étudiant ? Nous considérons l'index comme une méthode spéciale. La méthode peut utiliser la surcharge pour obtenir la même fonction avec des paramètres différents, de sorte que l'indexeur peut naturellement être surchargé. L'utilisation est similaire à la surcharge de méthode (cliquez ici pour voir la surcharge de méthode). Nous continuerons l'exemple ci-dessus. Cette fois, nous devons utiliser l'index de nom pour obtenir le numéro d'étudiant?:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test1  
{//定義一個能被索引的類  
    class Classes  
    {//對類的索引實質(zhì)是對類中數(shù)組的索引  
       public string[] StudentName=new string[6];  
        //定義索引器  
       public string this[int ID]  
       {  
           get { return StudentName[ID]; }  
           set { StudentName[ID] = value; } //set訪問器自帶value參數(shù)  
         
       }  
        //重載索引器參數(shù)設(shè)為string類型  
       public uint this[string name]  
       {  
           get  
           { //找到與name匹配的學(xué)號  
               uint index=1;  
               while (StudentName[index] != name && index < 6)  
               { index++; }  
               return index;  
             
           }  
           set { }  
       }  
      
    }  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Classes class4 = new Classes();  
            //索引寫入  
            for (int i = 1; i < 6; i++)  
            {  
                class4[i] = "HC"+i;  
            }  
            //索引讀出,通過學(xué)號索引出姓名  
            for (int j = 1; j < 6; j++)  
            {  
                Console.WriteLine(j+"號\t"+class4[j]);  
            }  
            //通過姓名索引出學(xué)號  
            for (int k = 1; k < 6; k++)  
            {   
                string name="HC"+k;  
                Console.WriteLine(name+"\t"+class4[name]+"號");//對比上面用法一樣參數(shù)不一樣              
            }  
        }  
    }  
}

Résultat?:

C# Learning Diary 28 --- Indexeur, indexeur surchargé

Nous avons dit plus haut que lorsqu'une classe définit un indexeur, cette classe peut être traitée comme un tableau. Lors de l'apprentissage des tableaux, nous savons que les tableaux ont plusieurs dimensions et indexeurs. catégorie? ? L'instruction de parcours foreach que nous utilisons pour parcourir le tableau peut-elle également être utilisée pour cette classe?? ? Je le présenterai dans le prochain article ! ! (Parce que l'école va avoir une panne de courant...) J'espère que vous continuerez à prendre en charge HC666^_^

Ce qui précède est le contenu du journal d'apprentissage C# 28 --- indexeur, indexeur surchargé. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.miracleart.cn)?!


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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
La différence entre le multithreading et le C # asynchrone La différence entre le multithreading et le C # asynchrone Apr 03, 2025 pm 02:57 PM

La différence entre le multithreading et l'asynchrone est que le multithreading exécute plusieurs threads en même temps, tandis que les opérations effectuent de manière asynchrone sans bloquer le thread actuel. Le multithreading est utilisé pour les taches à forte intensité de calcul, tandis que de manière asynchrone est utilisée pour l'interaction utilisateur. L'avantage du multi-threading est d'améliorer les performances informatiques, tandis que l'avantage des asynchrones est de ne pas bloquer les threads d'interface utilisateur. Le choix du multithreading ou asynchrone dépend de la nature de la tache: les taches à forte intensité de calcul utilisent le multithreading, les taches qui interagissent avec les ressources externes et doivent maintenir la réactivité de l'interface utilisateur à utiliser asynchrone.

C # vs C: Histoire, évolution et perspectives d'avenir C # vs C: Histoire, évolution et perspectives d'avenir Apr 19, 2025 am 12:07 AM

L'histoire et l'évolution de C # et C sont uniques, et les perspectives d'avenir sont également différentes. 1.C a été inventé par Bjarnestrousstrup en 1983 pour introduire une programmation orientée objet dans le langage C. Son processus d'évolution comprend plusieurs normalisations, telles que C 11, introduisant des mots clés automobiles et des expressions de lambda, C 20 introduisant les concepts et les coroutines, et se concentrera sur les performances et la programmation au niveau du système à l'avenir. 2.C # a été publié par Microsoft en 2000. Combinant les avantages de C et Java, son évolution se concentre sur la simplicité et la productivité. Par exemple, C # 2.0 a introduit les génériques et C # 5.0 a introduit la programmation asynchrone, qui se concentrera sur la productivité et le cloud computing des développeurs à l'avenir.

Comment convertir XML en JSON Comment convertir XML en JSON Apr 03, 2025 am 09:09 AM

Les méthodes pour convertir XML en JSON comprennent: la rédaction de scripts ou de programmes dans les langages de programmation (tels que Python, Java, C #) pour convertir; coller ou télécharger des données XML à l'aide d'outils en ligne (tels que XML vers JSON, le convertisseur XML de Gojko, les outils en ligne XML) et la sélection de sortie de format JSON; effectuer des taches de conversion à l'aide de XML en convertisseurs JSON (tels que Oxygen XML Editor, Stylus Studio, Altova XMLSPY); Conversion de XML en JSON à l'aide de Styleshets XSLT; Utilisation d'outils d'intégration de données (comme informatique

Qu'est-ce que la programmation C # Multithreading? La programmation C # Multithreading utilise la programmation C # Multithreading Qu'est-ce que la programmation C # Multithreading? La programmation C # Multithreading utilise la programmation C # Multithreading Apr 03, 2025 pm 02:45 PM

C # La programmation multi-thread est une technologie qui permet aux programmes d'effectuer plusieurs taches simultanément. Il peut améliorer l'efficacité du programme en améliorant les performances, en améliorant la réactivité et en mettant en ?uvre un traitement parallèle. Bien que la classe de threads fournit un moyen de créer directement des threads, des outils avancés tels que la tache et l'async / attendre peuvent fournir des opérations asynchrones plus s?res et une structure de code plus propre. Les défis courants dans la programmation multithread incluent des impasses, des conditions de course et des fuites de ressources, qui nécessitent une conception minutieuse des modèles de filetage et l'utilisation de mécanismes de synchronisation appropriés pour éviter ces problèmes.

C # .NET: création d'applications avec l'écosystème .NET C # .NET: création d'applications avec l'écosystème .NET Apr 27, 2025 am 12:12 AM

Comment créer des applications en utilisant .NET? La création d'applications à l'aide de .NET peut être réalisée via les étapes suivantes: 1) Comprendre les bases de .NET, y compris le langage C # et le support de développement multiplateforme; 2) Apprenez des concepts de base tels que les composants et les principes de travail de l'écosystème .NET; 3) Master Utilisation de base et avancée, des applications de console simples aux opérations de webapis et de base de données complexes; 4) familiariser avec les erreurs courantes et les techniques de débogage, telles que les problèmes de configuration et de connexion de la base de données; 5) L'optimisation des performances de l'application et les meilleures pratiques, telles que la programmation et la mise en cache asynchrones.

Du Web au bureau: la polyvalence de C # .net Du Web au bureau: la polyvalence de C # .net Apr 15, 2025 am 12:07 AM

C # .NETtisversatileforbothwebandDeskTopDevelopment.1) forweb, useasp.netfordynamicapplications.2) fordesktop, employwindowsformSorwpfforrichInterfaces.3) usexamarinforcross-plateformDevelopment, permanant les codéescosswindows, macos, linux, etmobiledevices.

Quels sont les avantages du multithreading en C #? Quels sont les avantages du multithreading en C #? Apr 03, 2025 pm 02:51 PM

L'avantage du multithreading est qu'il peut améliorer les performances et l'utilisation des ressources, en particulier pour traiter de grandes quantités de données ou effectuer des opérations longues. Il permet d'effectuer plusieurs taches simultanément, améliorant l'efficacité. Cependant, trop de threads peuvent conduire à une dégradation des performances, vous devez donc sélectionner soigneusement le nombre de threads en fonction du nombre de c?urs CPU et de caractéristiques de tache. De plus, la programmation multi-thread implique des défis tels que les conditions de blocage et de race, qui doivent être résolues à l'aide de mécanismes de synchronisation, et nécessite une connaissance solide de la programmation simultanée, pesant les avantages et les inconvénients et les utilisant avec prudence.

.NET Framework vs C #: Décodage de la terminologie .NET Framework vs C #: Décodage de la terminologie Apr 21, 2025 am 12:05 AM

.NetFramework est un cadre logiciel et C # est un langage de programmation. 1..NetFramework fournit des bibliothèques et des services, prenant en charge le développement d'applications de bureau, Web et mobile. 2.C # est con?u pour .NetFramework et prend en charge les fonctions de programmation modernes. 3..NetFramework gère l'exécution du code via CLR, et le code C # est compilé en IL et exécuté par CLR. 4. Utilisez .NetFramework pour développer rapidement des applications, et C # fournit des fonctions avancées telles que LINQ. 5. Les erreurs courantes incluent la conversion de type et les blocages de programmation asynchrones. Des outils VisualStudio sont nécessaires pour le débogage.

See all articles