우선 구조체가되어서는 안됩니다. 16 바이트보다 크기 때문에 구조체를 사용하면 성능상의 이점을 얻지 못합니다. 또한, 단일 값을 나타내지 않으므로 구조화하기 위해 의미 상 의미가 없습니다. 그냥 수업으로 만들어주세요.
Array.Sort(theArray, (x,y) => string.Compare(x.Artist,y.Artist));
당신이 C# 3 대신 람다 식의 대리자 사용하지 않은 경우 :
Array.Sort(theArray, delegate(uLib x, uLib y) { return string.Compare(x.Artist,y.Artist) });
편집을
Array
클래스는 사용할 수있는 Sort
방법이 있습니다 :
다음은 데이터가 클래스의 모습을 보여줍니다.
public class ULib {
private string _path, _artist, _title, _album, _length;
public string Path { get { return _path; } set { _path = value; } }
public string Artist { get { return _artist; } set { _artist = value; } }
public string Title { get { return _title; } set { _title = value; } }
public string Album { get { return _album; } set { _album = value; } }
public string Length { get { return _length; } set { _length = value; } }
public ULib() {}
public ULib(string path, string artist, string title, string album, string length) {
Path = path;
Artist = artist;
Title = title;
Album = album;
Length = length;
}
}
C#에는 속성에 대한 간단한 형식이 있습니다.
public string Path { get; set; }
공용 클래스 ULib도 –
잘 작동합니다. 감사. 구조체를 사용해서는 안된다고 말하면 어떻게 이런 종류의 데이터를 구성하겠습니까? – Krakerjak
클래스에 넣고 공용 필드 대신 속성을 사용하십시오. –