Quelle est la différence entre deux, le cas échéant (par rapport à .Net)?
c#
.net
cross-platform
Prerak K
la source
la source
Environment.NewLine
est\r\n
mais\n
est aussi appelé "nouvelle ligne". Pourquoi n'ont-ils pas simplement appelé ce dernier par son nom plus connu de "saut de ligne" et éliminé la confusion? Ils auraient pu utiliser\l
aussi.Implémentation exacte de à
Environment.NewLine
partir du code source:L'implémentation dans .NET 4.6.1:
la source
L'implémentation dans .NET Core:
source (en
System.Private.CoreLib
)source (en
System.Runtime.Extensions
)la source
Comme d'autres l'ont mentionné,
Environment.NewLine
retourne une chaîne spécifique à la plate-forme pour commencer une nouvelle ligne, qui devrait être:"\r\n"
(\ u000D \ u000A) pour Windows"\n"
(\ u000A) pour Unix"\r"
(\ u000D) pour Mac (si une telle implémentation existait)Notez que lors de l'écriture sur la console, Environment.NewLine n'est pas strictement nécessaire. Le flux de la console se traduira
"\n"
par la séquence de nouvelle ligne appropriée, si nécessaire.la source
\n
Environment.NewLine
renverra le caractère de nouvelle ligne pour la plate-forme correspondante dans laquelle votre code s'exécutevous trouverez cela très utile lorsque vous déployez votre code sous linux sur le framework Mono
la source
De la documentation ...
la source
Environment.NewLine donnera "\ r \ n" lorsqu'il est exécuté sur Windows. Si vous générez des chaînes pour les environnements basés sur Unix, vous ne voulez pas le "\ r".
la source
Vous pouvez rencontrer des problèmes lorsque vous essayez d'afficher un message multiligne séparé par "\ r \ n".
C'est toujours une bonne pratique de faire les choses de manière standard et d'utiliser Environnement.
la source