Przykład (uwaga na przypadek):
string s = "Hello world!";
String s = "Hello world!";
Jakie są wytyczne dotyczące stosowania każdego z nich? A jakie są różnice?
string
jest aliasem w C# dla System.String
.
Więc technicznie rzecz biorąc, nie ma różnicy. To'jest jak int
vs. System.Int32
.
Jeśli chodzi o wytyczne, generalnie zaleca się używanie string
za każdym razem, gdy odnosisz się do obiektu.
np.
string place = "world";
Podobnie, myślę, że ogólnie zaleca się używanie String
, jeśli musisz odnieść się konkretnie do klasy.
np.
string greet = String.Format("Hello {0}!", place);
Wygląda na to, że wytyczne w tej dziedzinie mogły ulec zmianie, ponieważ StyleCop wymusza teraz używanie aliasów specyficznych dla C#.
System.String
jest klasą łańcuchów .NET - w C# string
jest aliasem dla System.String
- więc w użyciu są takie same.
Jeśli chodzi o wytyczne, to nie zapędzałbym się zbytnio i po prostu używał tego, na co masz ochotę - są ważniejsze rzeczy w życiu, a kod i tak będzie taki sam.
Jeśli znajdziesz siebie budującego systemy, w których konieczne jest określenie rozmiaru liczb całkowitych, których używasz i tak masz tendencję do używania Int16
, Int32
, UInt16
, UInt32
itp. to może wyglądać bardziej naturalnie używanie String
- i kiedy poruszasz się pomiędzy różnymi językami .net może to sprawić, że rzeczy będą bardziej zrozumiałe - w przeciwnym razie używałbym string i int.
Małe litery string
są aliasem dla System.String
.
Są one takie same w C#
.
Istnieje debata na temat tego, czy powinieneś używać typów Systemowych (System.Int32
, System.String
, itd.) czy aliasów C#
(int
, string
, itd.). Osobiście uważam, że powinieneś używać C# aliasów
, ale to'tylko moje osobiste preferencje.