C#

StringBuilder 많은 문자열 합치기

안녕1999 2020. 10. 24. 23:56
string을 여러번 반복적으로 합치는건 속도가 느리다고하여, 많은 반복적인 작업에는 StringBuilder를 사용합니다.
차이점은 StringBuilder은 내부적으로 많은 메모리를 할당했다가, 사용하고,
string은 그때 그때 메모리를 계속 확장하는듯 합니다.

	static public string ListViewItem_ToLine(ListViewItem item, string spilt = "\t")
	{
		string s;
		var builder = new StringBuilder();
		int c;
		for (c = 0; c < item.SubItems.Count; c++)
		{
			s = item.SubItems[c].Text.Replace("\r\n", "");
			s = s.Replace("\n", "");

			builder.Append(s+ spilt);
		}
		return builder.ToString();
	}
    
    
	static public void ListView_CopySelectedToClipboard(ListView list)
	{
		var builder = new StringBuilder();
		foreach (ListViewItem item in list.SelectedItems)
		{
			builder.AppendLine(ListViewItem_ToLine(item));
		}
		Clipboard.SetText(builder.ToString());
	}