그래서 저는 C#을 시도하고 있습니다. 객체가 생성 될 때 문자열을 생성자 인수로 사용하는 클래스가 필요합니다. 그런 다음 문자열이 클래스 내에 저장됩니다. 다음과 같은 것 :생성자의 문자열 복사
public class DVD
{
public string sTitle, sName, sType;
public int iLength=0;
DVD(string title, string name, string type, int length)
{
sTitle = title;
sName = name;
sType = type;
}
};
내가 알고있는 것으로, 문자열은 단지 참조 용입니다. 내가 더 성공
sTitle = new String(title);
및
sTitle = new String;
sTitle = title;
등의 작업을 수행하려고
Warning 2 Field 'DVDsorter.DVD.sName' is never assigned to, and will always have its default value null
: 나는 오류 메시지를받을 이유는 아마도 이유이다.
몇 가지 유용한 배경 정보는 텍스트 파일에서 DVD의 라인 정보를 읽은 다음 각 DVD를 위의 DVD 클래스의 개체로 저장하는 것일 수 있습니다. 즉, 정보를 딥 카피하고 싶습니다.
어떻게 해결할 수 있을까요?
당신은 명시 적으로이 같은 문자열을 복사 할 필요가 거의 절대 :
당신은 컴파일 타임 오류가 발생합니다 :
는 이 입증쉬운 방법은 코드 줄을 실행하는 것입니다 . 그리고 이것이 실제 코드라면이 오류를 보지 않아야합니다. 이것이 실제 코드라면 [솔루션 정리] (http://msdn.microsoft.com/en-us/library/5tdasz7h.aspx) –
방금 코드를 컴파일 했으므로 오류나 경고가 없습니다. 문제가 무엇입니까? –
그런데 객체를 인스턴스화하면() 및 {} 인 이니셜 라이저 (생성자)를 사용해야합니다. 나는 '새로운 문자열'에 대해 이야기하고있다. – JustWork