Aşağıdaki yöntemi vardır:ile değerleri kaybetmemek için nasıl Liste en
private static Tuple<List<int>, bool> GetTurns(List<int> possibleTurns, IList<int> currentLine)
{
List<int> localPossibleTurns = possibleTurns;
foreach (var passedTurn in passedTurns)
{
for (int j = 0; j < localPossibleTurns.Count; j++)
{
int indexOfNewNumber = currentLine.IndexOf(localPossibleTurns[j]);
if (localPossibleTurns[j] == passedTurn.Item1)
{
if (indexOfNewNumber + 1 == passedTurn.Item2 || indexOfNewNumber == passedTurn.Item2)
{
localPossibleTurns.RemoveAt(j);
}
}
}
}
return localPossibleTurns.Count == 0
? new Tuple<List<int>, bool>(localPossibleTurns, false)
: new Tuple<List<int>, bool>(localPossibleTurns, true);
}
ve bu hat bunu kullanmakta:
if (!GetTurns(possibleRoutes, secondLine).Item2)
{
//do something
}
o yöntem haline possibleRoutes
listesi geçtiği noktaya ulaştığında ve GetTurns
- localPossibleTurns
yönteminde bildirilen değerden bir değer kaldırıldığında, liste, başvuru türü olduğu için possibleRoutes
listesine de uygulanır. Bunu nasıl önleyebilirim ve possibleRoutes
değerlerini yalnızca possibleRoutes = GetTurns(possibleRoutes, secondLine).Item1;
yaptığımda nasıl değiştirebilirim?
iyi tasarım değil. Eğer bir şeyi _get_mek istersem, orada hiçbir şeyin değiştirilmediğini sanmıyorum. –
@TimSchmelter: Tam olarak engellemeye çalıştıkları şey bu. –