문자열 배열에 문자열을 추가하는 방법은 무엇입니까?없습니다.함수 추가
private string[] ColeccionDeCortes(string Path)
{
DirectoryInfo X = new DirectoryInfo(Path);
FileInfo[] listaDeArchivos = X.GetFiles();
string[] Coleccion;
foreach (FileInfo FI in listaDeArchivos)
{
//Add the FI.Name to the Coleccion[] array,
}
return Coleccion;
}
변환하고 싶습니다.FI.Name
문자열에 추가한 다음 배열에 추가합니다.어떻게 해야 하나요?
배열 길이가 고정되어 있으므로 배열에 항목을 추가할 수 없습니다.당신이 찾고 있는 것은List<string>
나중에 다음을 사용하여 배열로 전환할 수 있습니다.list.ToArray()
,예.
List<string> list = new List<string>();
list.Add("Hi");
String[] str = list.ToArray();
또는 배열 크기를 조정할 수 있습니다.
Array.Resize(ref array, array.Length + 1);
array[array.Length - 1] = "new string";
목록 사용 <시스템에서.컬렉션.포괄적인
List<string> myCollection = new List<string>();
…
myCollection.Add(aString);
또는 단축형(수집 이니셜라이저 사용):
List<string> myCollection = new List<string> {aString, bString}
만약 당신이 정말로 배열을 원한다면,
myCollection.ToArray();
IEnumberable과 같은 인터페이스로 추상화한 다음 컬렉션을 반환하는 것이 좋습니다.
편집: 어레이를 사용해야 하는 경우 올바른 크기(즉, 보유한 FileInfo의 수)로 어레이를 미리 할당할 수 있습니다.그런 다음 각 루프에서 다음에 업데이트해야 하는 어레이 인덱스의 카운터를 유지 관리합니다.
private string[] ColeccionDeCortes(string Path)
{
DirectoryInfo X = new DirectoryInfo(Path);
FileInfo[] listaDeArchivos = X.GetFiles();
string[] Coleccion = new string[listaDeArchivos.Length];
int i = 0;
foreach (FileInfo FI in listaDeArchivos)
{
Coleccion[i++] = FI.Name;
//Add the FI.Name to the Coleccion[] array,
}
return Coleccion;
}
이지
// Create list
var myList = new List<string>();
// Add items to the list
myList.Add("item1");
myList.Add("item2");
// Convert to array
var myArray = myList.ToArray();
내가 틀리지 않았다면, 그것은:
MyArray.SetValue(ArrayElement, PositionInArray)
다음은 필요할 때 문자열에 추가하는 방법입니다.
string[] myList;
myList = new string[100];
for (int i = 0; i < 100; i++)
{
myList[i] = string.Format("List string : {0}", i);
}
각각의 루프에 사용하지 말고 for 루프를 사용하는 것이 어떻습니까?이 시나리오에서는 각 루프의 현재 반복에 대한 인덱스를 가져올 수 없습니다.
파일 이름은 [] 문자열에 추가할 수 있습니다.
private string[] ColeccionDeCortes(string Path)
{
DirectoryInfo X = new DirectoryInfo(Path);
FileInfo[] listaDeArchivos = X.GetFiles();
string[] Coleccion=new string[listaDeArchivos.Length];
for (int i = 0; i < listaDeArchivos.Length; i++)
{
Coleccion[i] = listaDeArchivos[i].Name;
}
return Coleccion;
}
string[] coleccion = Directory.GetFiles(inputPath)
.Select(x => new FileInfo(x).Name)
.ToArray();
이 코드는 Android에서 Array for spinner의 동적 값을 준비하는 데 유용합니다.
List<String> yearStringList = new ArrayList<>();
yearStringList.add("2017");
yearStringList.add("2018");
yearStringList.add("2019");
String[] yearStringArray = (String[]) yearStringList.toArray(new String[yearStringList.size()]);
string[] MyArray = new string[] { "A", "B" };
MyArray = new List<string>(MyArray) { "C" }.ToArray();
//MyArray = ["A", "B", "C"]
Linkq에 참조 추가using System.Linq;
제공된 확장 방법을 사용합니다.Append
:public static IEnumerable<TSource> Append<TSource>(this IEnumerable<TSource> source, TSource element)
그러면 다시 변환해야 합니다.string[]
사용.ToArray()
방법.
가능합니다. 왜냐하면 유형이string[]
도구들IEnumerable
또한 다음 인터페이스도 구현합니다.IEnumerable<char>
,IEnumerable
,IComparable
,IComparable<String>
,IConvertible
,IEquatable<String>
,ICloneable
using System.Linq;
public string[] descriptionSet new string[] {"yay"};
descriptionSet = descriptionSet.Append("hooray!").ToArray();
ToArray는 새 배열을 할당하므로 요소를 추가할 때 요소의 양을 알 수 없는 경우에는 List from System을 사용하는 것이 좋습니다.컬렉션.포괄적인.
이 경우 배열을 사용하지 않습니다.대신 문자열 모음을 사용합니다.
using System.Collections.Specialized;
private StringCollection ColeccionDeCortes(string Path)
{
DirectoryInfo X = new DirectoryInfo(Path);
FileInfo[] listaDeArchivos = X.GetFiles();
StringCollection Coleccion = new StringCollection();
foreach (FileInfo FI in listaDeArchivos)
{
Coleccion.Add( FI.Name );
}
return Coleccion;
}
배열을 지우고 동시에 해당 요소의 수를 = 0으로 만들려면 다음을 사용합니다.
System.Array.Resize(ref arrayName, 0);
확장자 만들기:
public static class TextFunctions
{
public static string [] Add (this string[] myArray, string StringToAdd)
{
var list = myArray.ToList();
list.Add(StringToAdd);
return list.ToArray();
}
}
다음과 같이 사용합니다.
foreach (FileInfo FI in listaDeArchivos)
{
//Add the FI.Name to the Coleccion[] array,
Coleccion.Add(FI.Name);
}
저는 다음과 같이 할 것입니다.
DirectoryInfo X = new DirectoryInfo(Path);
FileInfo[] listaDeArchivos = X.GetFiles();
string[] Coleccion = new String[] { };
foreach (FileInfo FI in listaDeArchivos)
{
Coleccion = Coleccion.Concat(new string[] { FI.Name }).ToArray();
}
return Coleccion;
언급URL : https://stackoverflow.com/questions/1440265/how-to-add-a-string-to-a-string-array-theres-no-add-function
'programing' 카테고리의 다른 글
BsonDocument 개체를 클래스로 역직렬화하는 방법 (0) | 2023.05.14 |
---|---|
nodejs mongodb 네이티브 드라이버에서 문자열을 ObjectId로 변환하는 방법은 무엇입니까? (0) | 2023.05.14 |
iOS Simulator에서 네트워크 호출을 모니터링하는 방법 (0) | 2023.05.14 |
Postgres 스크립트에서 오류가 발생할 경우 어떻게 중지할 수 있습니까? (0) | 2023.05.14 |
에서 구조체의 기본 생성자를 정의할 수 없는 이유는 무엇입니까?NET? (0) | 2023.05.14 |