버그 해결을 위한 모든 질문을 던져
+2 votes
347 views
asked (277 point)
재 태그 , 347 views

3 answers

+3 votes
우수 답변

C#의 string과 System.String은 같은게 맞죠.

여기서 좀더 크게 봐야하는건, 그럼 System.String은 뭐고 string은 뭐냐? 그냥 같은거다? 
마치 using string = System.String;으로 봐야하는 개념이라고 하는건가? 라기 보다는 좀더 확장해서 봐야합니다.

System.String은 닷넷 프레임워크에서 BCL영역에서 인식하는 형식입니다. 그래서 C#에서는 string으로 써도, System.String으로 인식되고 BCL에서는 System.String으로 사용되어진다고 봐야하죠.

왜 이렇게 봐야하냐면 .Net Framework에는 C#(Winform, WPF)만 있는것이 아닙니다. VB.net도 있죠. 다른언어도 있습니다만 어쨋든.

그래서 VB.net에서 String이나 C#.Net에서의 string이나 둘다 BCL에서의 System.String입니다. 

 

MSDN에서의 설명입니다.

1. .Net Framework의 System.String 을 설명합니다.
https://docs.microsoft.com/en-us/dotnet/api/system.string?view=netframework-4.7.2
여기서 C#클래스 String을 예로 들고 있습니다. 

2. VB.Net
https://docs.microsoft.com/ko-kr/dotnet/visual-basic/language-reference/data-types/string-data-type
'Framework Type : .Net Framework에서의 해당 형식은 System.String 클래스다.' 라고 설명하고 있습니다.

 

explanatory님이 댓글에 남겨두셨듯이 .Net Framework가 제공하는 기본형은 C#이든 VB든 아님 닷넷 프레임워크상의 BCL을 따르는 모든 언어는 동일하게 해당 format을 따릅니다(물른 string인지 String인지는 언어마다 차이가 조금씩 있습니다).

answered (130 point)
선택됨
앗 아앗... 감사합니다
+3 votes

string 은 System.String 의 별칭입니다
int vs. System.Int32. 처럼 기술적으로는 차이가 없습니다

 

 

answered (277 point)
+3 votes
object:  System.Object
string:  System.String
bool:    System.Boolean
byte:    System.Byte
sbyte:   System.SByte
short:   System.Int16
ushort:  System.UInt16
int:     System.Int32
uint:    System.UInt32
long:    System.Int64
ulong:   System.UInt64
float:   System.Single
double:  System.Double
decimal: System.Decimal
char:    System.Char
answered (65 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

127 질문
222 answers
253 댓글
246 users