반응형
쉼표로 구분된 문자열을 입력할 수 있습니까?
반환되는 데이터 테이블이 있습니다.
IDs
,1
,2
,3
,4
,5
,100
,101
이 값을 단일 문자열 값(예:
,1,2,3,4,5,100,101
단일 문자열을 얻으려면 다음을 다시 작성하려면 어떻게 해야 합니까?
var _values = _tbl.AsEnumerable().Select(x => x);
var singleString = string.Join(",", _values.ToArray() );
다음과 같은 확장 방법을 작성합니다.
public static String AppendAll(this IEnumerable<String> collection, String seperator)
{
using (var enumerator = collection.GetEnumerator())
{
if (!enumerator.MoveNext())
{
return String.Empty;
}
var builder = new StringBuilder().Append(enumerator.Current);
while (enumerator.MoveNext())
{
builder.Append(seperator).Append(enumerator.Current);
}
return builder.ToString();
}
}
그리고 이전 식의 결과가 IEnumberable<String>이라고 가정하면 다음을 호출합니다.
var _values = _tbl.AsEnumerable().Select(x => x).AppendAll(String.Empty);
String.Join(
",",
_tbl.AsEnumerable()
.Select(r => r.Field<int>("ID").ToString())
.ToArray())
사용해 보십시오.
var _values = _tbl.AsEnumerable().Select(x => x);
string valueString = _values.ToList().Aggregate((a, b) => a + b);
저도 장군과 비슷한 문제가 있었습니다.Array
타자를 치고 다음과 같이 풀었습니다.
string GetMembersAsString(Array array)
{
return string.Join(",", array.OfType<object>());
}
해당 통화를 기록OfType<object>()
필수 항목입니다.
추가 LINQ 확장을 사용할 수 있습니다.
var singleString = _values.ToDelimitedString(",");
이것으로 부정행위를 할 수 있습니다.
String output = "";
_tbl.AsEnumerable().Select(x => output += x).ToArray();
// output now contains concatenated string
메모ToArray()
쿼리를 실행하려면 유사한 작업이 필요합니다.
또 다른 옵션은
String output = String.Concat(_tbl.AsEnumerable().Select(x=>x).ToArray());
언급URL : https://stackoverflow.com/questions/3414263/ienumerable-to-string-delimited-with-commas
반응형
'programing' 카테고리의 다른 글
Python 요청이 자체 서명된 SSL 인증서를 신뢰하도록 하는 방법은 무엇입니까? (0) | 2023.06.10 |
---|---|
VBA가 엑셀에서 MySQL 데이터베이스에 어떻게 연결할 수 있습니까? (0) | 2023.06.10 |
Excel Interop - 범위의 모든 테두리 그리기 (0) | 2023.06.10 |
시트의 행 수 (0) | 2023.06.10 |
Oracle은 Foreign KEY 열에 대한 보조 인덱스를 자동으로 생성합니까? (0) | 2023.06.10 |