Quelle est la différence entre les deux, le cas échéant (par rapport à .Net) ?
Réponses
Trop de publicités?La mise en œuvre exacte de Environment.NewLine
à partir du code source :
L'implémentation dans .NET 4.6.1 :
/*===================================NewLine====================================
**Action: A property which returns the appropriate newline string for the given
** platform.
**Returns: \r\n on Win32.
**Arguments: None.
**Exceptions: None.
==============================================================================*/
public static String NewLine {
get {
Contract.Ensures(Contract.Result<String>() != null);
return "\r\n";
}
}
L'implémentation dans .NET Core :
/*===================================NewLine====================================
**Action: A property which returns the appropriate newline string for the
** given platform.
**Returns: \r\n on Win32.
**Arguments: None.
**Exceptions: None.
==============================================================================*/
public static String NewLine {
get {
Contract.Ensures(Contract.Result() != null);
#if !PLATFORM_UNIX
return "\r\n";
#else
return "\n";
#endif // !PLATFORM_UNIX
}
}
source (en System.Private.CoreLib
)
public static string NewLine => "\r\n";
source (en System.Runtime.Extensions
)
Comme d'autres l'ont mentionné, Environment.NewLine
renvoie une chaîne spécifique à la plate-forme pour le début d'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 lorsque vous écrivez dans la console, Environment.NewLine n'est pas strictement nécessaire. Le flux de la console traduira "\n"
à la séquence de nouvelles lignes appropriée, si nécessaire.