Maison  >  Article  >  développement back-end  >  Programmation avancée C# (2) - Explication détaillée du noyau C#

Programmation avancée C# (2) - Explication détaillée du noyau C#

黄舟
黄舟original
2017-03-20 11:22:231244parcourir

Initialisation et portée des variables

Initialisation

C# dispose de deux méthodes pour garantir que les variables sont initialisées avant utilisation Initialisées :

    • Les variables sont des champs qui, s'ils ne sont pas explicitement initialisés, ont une valeur par défaut de 0 lors de leur création.

    • La variable locale de la méthode doit être explicitement initialisée dans le code avant de pouvoir être utilisée dans l'instruction. Si sa valeur est utilisée avant l'initialisation, une erreur. sera signalé.

Portée

Si la portée de la variable locale est en conflit, une erreur CS0136 sera signalée.

Le champ est en conflit avec les variables locales, masquez le champ, utilisez ce mot-clé pour accéder au champ d'instance masqué et utilisez object.fieldname pour les champs statiques.

Constantes

Caractéristiques des constantes :

    • Les constantes doivent être initialisées lorsqu'elles sont déclarées et les modifications ne sont pas autorisées une fois leurs valeurs attribuées.

    • La valeur d'une constante doit être utilisée dans les calculs au moment de la compilation, la valeur ne peut pas être extraite d'une variable.

    • Les constantes sont toujours statiques et ne peuvent pas être modifiées à l'aide du mot-clé static.

Avantages des constantes :

    • Facile à lire

    • Facile à modifier

    • Facile à éviter les erreurs

Types de données prédéfinis

La différence entre les types valeur et les types référence

Reportez-vous à Chapitre 1.

Type de référence

Pour créer un objet vous devez utiliser le mot-clé nouveau pour ajouter une référence L'attribution d'un type à un autre type référence renvoie uniquement son adresse, qui change à mesure qu'elle change. Par exemple :

         Test x,y;

      x testX = new Test();

      y testY = x;

      testX.value =1;    //这条语句执行后testX与testY的value属性的值都会为

Type CTS

Les types prédéfinis de base reconnus par C# ne sont pas intégrés à C#, mais sont intégrés à . NET-cadre.

Decimal n'est pas un type intégré dans .NET Formework et entraînera une perte de performances.

Le type booléen ne peut pas utiliser 0 pour représenter faux, et non-0 représente vrai.

Tous les types intégrés héritent du type Object.

L'immuabilité de la chaîne : Si testX et testY dans le code ci-dessus sont de type chaîne, lorsque la chaîne pointée par testX change, une nouvelle sera créée dans le tas géré. chaîne et pointez dessus, la valeur pointée par testY ne sera pas modifiée.

Contrôle de flux

Instruction conditionnelle

if, else if, else.

Instruction Switch

La valeur de l'instruction case doit être une expression constante, les variables ne sont pas autorisées.

与C++的区别:激活了前一个case不会自动激活后一个case,且每一个case必须用break否则报错;可以把字符串作为测试变量。

可以使用goto "标签"经行跳转。

case为空则不需要break。

循环

for 与 while的区别:for适合可预测次数的循环,while适合不可预测次数的循环。

foreach

要实现foreach的遍历,类中就必须实现IEnumerable接口。

foreach中不能改变每一项的值。

跳转语句

goto

break

跳出当前循环

continue

跳过此次循环

return

退出当前方法

枚举

一旦代码编辑好,枚举就成为基本类型。

名称空间(命名空间)

与文件或组件不同,名称空间是一种逻辑组合,而不是物理组合。

一般名称空间可接受的格式为CompanyName.ProjectName.StstemSection。

名称空间别名的语法:

using slias = NamespaceName;

命名空间修饰符为 “::” 。

 1 //using System; 
 2 using TestSystem = System; 
 3  
 4 namespace 命名空间别名 
 5 { 
 6     class Program 
 7     { 
 8         static void Main(string[] args) 
 9         {
 10             TestSystem::Console.WriteLine("This is a C# Progam");
 11             TestSystem.Console.ReadKey();
 12         }
 13     }
 14 }

命名空间别名演示

预编译

#if #elif 支持一组逻辑运算符“!”、“==”、“!+”、“||”。

C#编程规则

标识符规则

    • 可以包含数字字符,但是它们他们必须以字母或下划线开头。

    • 不能使用C#关键字作标识符。

用户约定

规则应该是一个正确的决策,而不是一种束缚。


    1. 命名约定

Pascal:名称空间、类、函数名。

Camel:类中的字段(最好加“_”为前缀能更直观的知道这是个字段)、方法的参数。


    1. Style de nom

Le nom/style de dénomination doit être aussi cohérent que possible.


    1. Le nom de l'espace de noms

Les espaces de noms sont le seul moyen par lequel .NET peut distinguer les noms d'objets dans les assemblys partagés.

Microsoft recommande d'utiliser l'espace de noms suivant : d04661e771feadb793ae73b35fbaae73.72f679de98f4cda0c0a9d332c4b5adaa


    1. Nom et mots-clés

Omis

Utilisation d'attributs et de méthodes

Si l'objet ressemble à un objet, utilisez des attributs pour le représenter, c'est-à-dire :

    • La réforme médicale du client peut lire sa valeur, il est préférable de ne pas utiliser d'attributs en écriture seule.

    • La lecture de cette valeur ne devrait pas lui prendre beaucoup de temps.

    • Il ne devrait y avoir aucun effet négatif.

    • Les propriétés peuvent être définies dans n'importe quel ordre.

    • La lecture séquentielle des propriétés devrait avoir le même effet.


Utilisation du champ

Les champs doivent toujours être privés.

07/05/2016 22:29:18

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