Если
@prescribed_wod_count = @ user.workouts.rx_workouts.count
возвращает 4
и
@user_workout_count = @ user.workouts.count
возвращает 26
как получилось
Взгляните на следующую программу: Я предположил, что Список действительно " передано по ссылке ", но действует только функция Таким образом, результат фактически таков: Вы можете помочь мне объяснить это поведение? Если действительно Я предполагал, что даже этот оператор не вступит в силу, а результат будет: <
{Список
class Test
{
List<int> myList = new List<int>();
public void TestMethod()
{
myList.Add(100);
myList.Add(50);
myList.Add(10);
ChangeList(myList);
foreach (int i in myList)
{
Console.WriteLine(i);
}
}
private void ChangeList(List<int> myList)
{
myList.Sort();
List<int> myList2 = new List<int>();
myList2.Add(3);
myList2.Add(4);
myList = myList2;
}
}
myList
прошел бы мимо ref
, и результат будет 3
4
sort
. Следующее выражение myList = myList2;
не имеет никакого эффекта. 10
50
100
myList
не является переданной ссылкой (как следует из myList = myList2
не вступает в силу), то как myList.Sort ( )
вступят в силу? 100
50
10