텍스트 상자에 다양한 데이터 유형을 입력하고 Object 배열에 입력
사용자가 다음과 같은 다양한 데이터 유형을 TextBox에 입력 할 수있는 방법을 원합니다.
“a”, 1, 1.5, “b”
그런 다음 ""로 분할하고 Object 배열 또는 목록에 넣습니다. 객체를 제외하고는 이와 비슷한 것이므로 문자열, 정수 등으로 인식 할 수 있습니다.
String sample = textbox;
String samples = sample.Split(new Char[] {','});
foreach (var x in samples)
감사합니다
이것은 2 단계 프로세스입니다. 1 단계는 사용자의 CSV 행을 구문 분석하는 것이고 2 단계는 직선 텍스트와 숫자 (이중 선택)를 식별하는 것입니다. 유연성 때문에 정규식을 선호하며 (배운 후에는) 정규식을 사용하여 두 단계를 모두 해결할 수 있다고 생각합니다.
검색을 수행하면 숫자 식별 주제에 대한 전체 StackOverflow 질문이 있습니다. 귀하의 요구 사항은 기본적인 것으로 보이며 이러한 이해를 바탕으로 정규 표현식을 사용하여 기본적인 숫자 구절 텍스트 검사를 제공 할 것입니다. (가능성을 더 제한하기 위해 확장 할 수 있습니다) :
List<object> items = new List<object>();
string data = "a, 1, 1.5, b";
Regex.Matches(data, "[^,]+") // Get each object without a comma over the line.
.OfType<Match>()
.Select (mt => mt.ToString().Trim()) // Remove any whitespace (if any)
.ToList()
.ForEach(itm => items.Add(Regex.IsMatch(itm, "[a-zA-Z]") ? // Is it
(object) itm : // a string
(object) Double.Parse(itm))); // a number
Console.WriteLine ( string.Join( " | ", items.Select (obj => obj.ToString())));
// Writes:
// a | 1 | 1.5 | b
Console.WriteLine ( string.Join( ", ", items.Select (obj => obj.GetType())));
// Writes:
// System.String, System.Double, System.Double, System.String
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다