Compilation des connaissances de base C# : classes et structures C# (1)

黄舟
Libérer: 2017-02-10 15:13:53
original
1425 Les gens l'ont consulté

1. Caractéristiques structurelles et fonctionnelles ? Implémenter le code ?
Les structures sont définies à l'aide du mot-clé struct, qui est similaire aux classes, mais présente des différences essentielles. La structure est essentiellement un type valeur, elle ne nécessite pas d’allocation.
Caractéristiques de la structure :
(1) Lorsque la structure est passée en paramètre, elle est passée par valeur.
(2) Le constructeur de la structure doit prendre des paramètres.
(3). L'instanciation de la structure ne nécessite pas de nouveau.
(4). Les structures ne peuvent pas être héritées, mais les interfaces peuvent être implémentées.
(5). Les champs d’instance ne peuvent pas être initialisés dans la structure.
Exemple :

using System;
using System.Collections.Generic;
using System.Text;

namespace TestStruct
{
    class Program
    {
        public struct Circle     //定义一个圆
        {
            private const double pi = 3.1415926;

            public double radius;  //半径

            /// <summary>
            /// 构造函数
            /// </summary>
            public Circle(double r)
            {
                radius = r;
            }
            /// <summary>
            /// 面积
            /// </summary>
            public double CArea()
            {
                return 3.14 * radius * radius;
            }

        }

        static void Main(string[] args)
        {
            Circle circle1;    //不用new实例化

            circle1.radius = 5;

            Console.WriteLine("圆面积为:" + circle1.CArea());

            Circle circle2 = new Circle(1);  //用new实例化

            Console.WriteLine("圆面积为:" + circle2.CArea());

            Console.ReadLine();
        }
    }
}
Copier après la connexion

2. Qu'est-ce que la délégation ? Caractéristiques? Quand utiliser des délégués au lieu d’interfaces ? Comment déclarer, instancier et utiliser des délégués ?

(1) Un délégué est une classe qui définit le type d'une méthode. Une méthode peut être utilisée comme paramètre d'une autre méthode. Évitez d'utiliser des branches dans votre programme,

le programme sera plus évolutif.
Exemple :

  class Program
    {
        public delegate void PrinteDelegate(string name);

        private static void PrinteEnglish(string name)
        {
            Console.WriteLine("Your Name: " + name);
        }

        private static void PrinteChinese(string name)
        {
            Console.WriteLine("你的大名: " + name);
        }

        private static void Printe(string name, PrinteDelegate MakeGreeting)
        {
            MakeGreeting(name);
        }

        static void Main(string[] args)
        {
            Printe("Sam Young", PrinteEnglish);

            Printe("白杨树", PrinteChinese);

            Console.ReadLine();
        }
    }
Copier après la connexion

(2) Un délégué est similaire à un pointeur de fonction C, mais il est de type sécurisé.

Les délégués permettent de transmettre des méthodes en tant que paramètres.

Les délégués peuvent être utilisés pour définir des méthodes de rappel.

Les délégués peuvent être enchaînés ; par exemple, plusieurs méthodes peuvent être appelées lors d'un événement.

Il n'est pas nécessaire que les méthodes correspondent exactement à la signature du délégué. Pour plus d’informations, consultez Covariance et Contravariance.

C# version 2.0 a introduit le concept de méthodes anonymes, qui permettent de transmettre des blocs de code comme arguments à la place de méthodes définies individuellement.

Utilisez des délégués, je pense que cela devrait être utilisé lorsque vous avez besoin de créer une branche pour appeler différentes méthodes. Mais par exemple, dans le modèle factory, différentes classes

sont instanciées selon les branches. Dans ce cas, des interfaces sont utilisées.


Un délégué est une classe qui définit le type d'une méthode afin que la méthode puisse être passée en paramètre d'une autre méthode. Cela attribue dynamiquement la méthode

La méthode de donner. Les paramètres peuvent éviter d'utiliser un grand nombre d'instructions If-Else (Switch) dans le programme et en même temps rendre le programme plus évolutif.

3. Qu'est-ce qu'une catégorie/sous-catégorie partielle ? Quelles fonctionnalités ? Implémenter le code ? Occasions applicables ? Combien de règles doivent être respectées ?

La classe partielle consiste à utiliser le mot-clé partial pour diviser une classe en plusieurs fichiers indépendants, mais il s'agit toujours d'une classe par essence. Généralement, les classes partielles peuvent être utilisées lorsqu'une classe a trop de lignes ou que certaines fonctions sont relativement indépendantes. Les plus courantes sont Form.cs et Form.designer.cs.

De manière générale, les règles suivantes doivent être suivies :
(1) Le mot-clé partiel doit être utilisé

(2) Bien qu'il existe différentes parties, chaque partie doit avoir la même accessibilité, comme public , privé, etc.

(3), si une partie est déclarée abstraite et scellée, le type entier est considéré comme abstrait et scellé

(4), le cas échéant, lors de la déclaration d'héritage une classe de base, le type entier héritera de la classe

(5). Chaque partie peut spécifier différentes interfaces de base, et le type final implémentera toutes les interfaces répertoriées dans toutes les déclarations partielles

(6). ). Tout membre de classe, de structure ou d'interface déclaré dans une définition partielle est disponible pour toutes les autres parties

(7) Les types imbriqués peuvent être partiels, même s'ils le sont. imbriqué n'est pas lui-même partiel.

Ce qui précède est la connaissance de base de C# : classes et structures C# (1). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Étiquettes associées:
source:php.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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal