-
C# List<type> 중복제거닷넷/C# 2019. 4. 14. 21:33반응형
List의 Distinct를 쓰면 된다.
단, List에 타입이 string이나 int 같이 속성이 하나일 때만 된다.
속성이 여러개이면 중복제거가 되지 않으므로
중복을 제거할 값의 타입으로 먼저 리스트를 만들고 값을 넣어 중복제거하고 다른 리스트에 담으면 된다.
다음은 카톡 대화내용 분석에서 방문자리스트를 만들 때 사용한 방법이다.
// 방문자 이름만 담을 리스트
List<string> list = new List<string>();
for (int i = 3; i < text.Length; i++)
{
if (text[i].Length > 0)
{
if (text[i].Substring(0, 1) == "[")
{
string[] s = text[i].Split(' ');
try
{
if (s[1].IndexOf("[오") > -1)
{
list.Add(s[0]);
}
}
catch
{
continue;
}
}
}
}
// 중복제거
list = list.Distinct().ToList();
// Person 리스트에 담기
List persons = new List();
foreach (string s in list)
{
Persons ps = new Persons();
ps.iCount = 0;
ps.sName = s;
persons.Add(ps);
}// 방문자는 속성을 여러개 가짐
public class Persons
{
public string sName { get; set; }
public string sInDate { get; set; }
public string sOutDate { get; set; }
public string sFinalDate { get; set; }
public string sFinalLog { get; set; }
public int iCount { get; set; }
}반응형'닷넷 > C#' 카테고리의 다른 글
C# and Database(SQLite, MySQL, MSSQL, Oracle) data type mapping (0) 2019.05.03 C# 요일 구하기 DayOfWeek 메서드 (0) 2019.04.20 Tizen C# load local image, res 폴더에 있는 이미지 읽기 (ImageSource.FromFile) (0) 2019.01.03 C# foreach DataRow in DataSet (0) 2018.12.11 C# 웹통신 요청 및 응답 (WebRequest POST, WebResponse) (ContentType: application/x-www-form-urlencoded) (0) 2018.11.15