J'ai trouvé quelques fils de discussion concernant ce problème. La plupart des gens semblent préférer l'utilisation d'int dans leur code C#, même si un byte ou un smallint peut gérer les données, sauf s'il s'agit d'une application mobile. Je ne comprends pas pourquoi. Ne serait-il pas plus logique de définir votre type de données C# comme le même type de données que celui de votre solution de stockage de données ?
Ma prémisse : Si j'utilise un ensemble de données typées, des classes Linq2SQL, POCO, d'une manière ou d'une autre, je rencontrerai des problèmes de conversion de type de données dans le compilateur si je ne garde pas mes types de données en synchronisation avec mes niveaux. Je n'aime pas vraiment faire System.Convert tout le temps juste parce qu'il était plus facile d'utiliser int dans tout le code C#. J'ai toujours utilisé le plus petit type de données nécessaire pour gérer les données dans la base de données ainsi que dans le code, afin de garder mon interface avec la base de données propre. Je parierais donc que 75% de mon code C# utilise byte ou short plutôt que int, parce que c'est ce qui se trouve dans la base de données.
Possibilités : Cela signifie-t-il que la plupart des personnes qui utilisent int pour tout dans le code utilisent également le type de données int pour leurs types de données de stockage sql et ne se soucient pas de la taille globale de leur base de données, ou font-ils system.convert dans le code chaque fois que cela est possible ?
Pourquoi ça m'intéresse : J'ai toujours travaillé à mon compte et je veux simplement me familiariser avec les meilleures pratiques et les conventions de codage standard.
0 votes
La question initiale laissait l'impression que je demandais s'il y avait une raison d'éviter les byte ou smallint en faveur des int. Je veux vraiment savoir pourquoi il est préférable d'utiliser int partout plutôt que byte ou smallint lorsque ces types de données suffisent.
0 votes
Donc, si vous êtes d'accord pour utiliser int partout, je veux savoir quel est l'avantage, pour ainsi dire, de meilleures performances, pas de conversions, pourquoi devrais-je utiliser int partout ?