web-dev-qa-db-fra.com

Différence entre les types de données octet et octet en C #

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!

139
jaywon

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
}
140
Guffa

byte et System.Byte en C # sont identiques. byte est simplement du sucre syntaxique et est recommandé par StyleCop (pour les directives de style).

25
Adam Maras

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 , ...

8
Darin Dimitrov

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.

6
Brian Rasmussen

Rien, le minuscule est un mot-clé qui est un alias pour le type Byte.

Il s'agit de sucre syntaxique pur.

6
Gerrie Schenck

Ils sont généralement les mêmes.

4
Aurril

é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"
0
Colin

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.

0
ata