J'ai remarqué qu'en C # il y a à la fois un type de données byte et Byte. Ils disent tous les deux qu'ils sont de type struct System.Byte et représentent un entier non signé à 8 chiffres.
Je suis donc curieux de savoir quelle est la différence, le cas échéant, entre les deux, et pourquoi vous utiliseriez l'un sur l'autre.
Merci!
Le mot clé byte
est un alias pour le System.Byte
Type de données.
Ils représentent le même type de données, donc le code résultant est identique. Il n'y a que quelques différences d'utilisation:
Vous pouvez utiliser byte
même si l'espace de noms System
n'est pas inclus. Pour utiliser Byte
, vous devez avoir un using System;
en haut de la page ou spécifiez l'espace de noms complet System.Byte
.
Il y a quelques situations où C # vous permet uniquement d'utiliser le mot-clé, pas le type de framework, par exemple:
.
enum Fruits : byte // this works
{
Apple, Orange
}
enum Fruits : Byte // this doesn't work
{
Apple, Orange
}
byte
et System.Byte
en C # sont identiques. byte
est simplement du sucre syntaxique et est recommandé par StyleCop (pour les directives de style).
Aucune différence. byte
est un alias de System.Byte, de la même manière int
est un alias de System.Int32, long
de System.Int64, string
de System.String , ...
C # possède un certain nombre d'alias pour les types .NET. byte
est un alias pour Byte
tout comme string
est un alias pour String
et int
est un alias pour Int32
. C'est à dire. byte
et Byte
sont du même type réel.
Rien, le minuscule est un mot-clé qui est un alias pour le type Byte.
Il s'agit de sucre syntaxique pur.
Ils sont généralement les mêmes.
également lors de l'utilisation de la réflexion ,
Type t=Type.GetType("System.Byte"); //works
Type t=Type.GetType("System.byte"); //doesn't work, I can see no way to use"byte" directly here without converting it to "Byte"
byte
est un type de données intégré en C #.System.Byte
est une structure qui représente un byte
et fournit des méthodes supplémentaires comme Parse
et TryParse
.
byte
est un alias de System.Byte
struct. Différents langages .NET ont différents alias basés sur la sémantique du langage particulier, mais ils sont tous mappés à des types spécifiques dans le framework .NET.