Nie wiem czym faktycznie to się różni.
String od stringa, Object od objectu...
Powie ktoś?
object
to słowo kluczowe języka C#
Object
to klasa w .NET
Analogicznie jest ze string'ami.
Analogicznie int to Int32, a long to Int64 ;). Generalnie można tego używać zamiennie, ale ja używam zawsze słów kluczowych.
Tym, że object
to typ prosty, a Object
to klasa, i Object
przekazuje się przez referencję, a object
przez wartość. No i Object
jest typem .NET'owym.
Dobra, k**** to była głupota, nie wiem skąd mi się to wzieło.
xeo: nie masz racji.
Radzę zajrzeć do źródła:
http://msdn.microsoft.com/en-us/library/9kkx3h3c(v=vs.80).aspx
:)
Nie różni się to niczym, poza wielkością pierwszej literki w nazwie. Składnia z małych liter, zachowana w celu upodobnienia składni C# do języków C/C++ w celu zachęcenia i ułatwienia przesiadki.
j/w. to jest dokładnie to samo. Ot zwykły aliasing
Raczej wstrzymałbym się od stwierdzenia "to samo".
Ów aliasing jest na poziomie wyłącznie składni języka C#. Dla platformy .NET nie ma czegoś takiego jak object
.
Dla przykładu:
Activator.CreateInstance("System", "Object"); // ok
Activator.CreateInstance("System", "object"); // lipa
Chyba, że siedzisz w PowerShellu ;)
PS C:\> [system.object]
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object
Ale tam generalnie wielkość liter w typach nie ma znaczenia.
ja używam int
jeśli chcę zdefiniować zmienną, albo parametr:
int i;
ale Int32
jeśli chcę wywołać metodę statyczną tego typu:
i = Int32.Parse("123");
oczywiście odwrotny zapis
Int32 i;
i = int.Parse("123");
też będzie działać, i znaczy to samo.
Podobnie ze string
, object
itd.
Pełna lista aliasów tutaj:
http://msdn.microsoft.com/en-us/library/ya5y69ds.aspx