먼저 목록을 만드십시오 -
List list = new List();
여기서 문자열은 하위 목록을 찾을 "xyz"입니다. 루핑하는 동안 우리는 또 다른 목록을 선언할 것입니다. 그러면 모든 실제 반복에서 하위 목록이 생성됩니다 -
for (int i = 1; i < str.Length; i++) {
list.Add(str[i - 1].ToString());
List newlist = new List();
for (int j = 0; j < list.Count; j++) {
string list2 = list[j] + str[i];
newlist.Add(list2);
}
list.AddRange(newlist);
} 다음은 완전한 코드입니다 -
예시
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo {
class MyApplication {
static void Main(string[] args) {
string str = "xyz";
List list = new List();
for (int i = 1; i < str.Length; i++) {
list.Add(str[i - 1].ToString());
List newlist = new List();
for (int j = 0; j < list.Count; j++) {
string list2 = list[j] + str[i];
newlist.Add(list2);
}
list.AddRange(newlist);
}
list.Add(str[str.Length - 1].ToString());
list.Sort();
Console.WriteLine(string.Join(Environment.NewLine, list));
}
}
} 출력
x xy xyz xz y yz z