Есть ли какая-то особая причина, по которой вы читаете названия и имена разными способами?
Очевидное решение - просто прочитать оба одновременно в одном и том же методе, затем вы можете создать один экземпляр testType с заполненными обоими свойствами. Я предполагаю, что заголовков всегда будет столько же, сколько и имен, и что порядок в строках предсказуем:
public struct testType
{
public string title
public string name
}
public List<testType> testlist = new List<testType>();
private void readData(string titlesLine, string namesLine)
{
string[] titles = titlesLine.Split(new string[] { "\",\"" }, StringSplitOptions.None);
string[] names = namesLine.Split(new string[] { "\",\"" }, StringSplitOptions.None);
for (int i = 0; i < titles.Length; i++)
{
testType temp = new testType();
temp.title = titles[i];
temp.name = names[i];
testlist.Add(temp);
}
}
РЕДАКТИРОВАТЬ: альтернативный (но менее рекомендуемый) подход. Если вы действительно не можете / не хотите объединить два метода в один, вы можете вызвать их по отдельности и написать код, как показано ниже, при условии, что вы всегда вызываете readTitles перед readNames и всегда предоставляете данные в одном и том же порядке. каждый раз.
public struct testType
{
public string title
public string name
}
public List<testType> testlist = new List<testType>();
private void readTitles(string titlesLine)
{
string[] titles = titlesLine.Split(new string[] { "\",\"" }, StringSplitOptions.None);
for (int i = 0; i < titles.Length; i++)
{
testType temp = new testType();
temp.title = titles[i];
testlist.Add(temp);
}
}
private void readNames(string namesLine)
{
string[] names = namesLine.Split(new string[] { "\",\"" }, StringSplitOptions.None);
for (int i = 0; i < testlist.Count; i++)
{
testlist[i].name = names[i];
}
}