我想清楚地讨论我的问题 我有一个函数来交换两个变量的值
public static void Swap<T>(ref T first, ref T second)
{
T temp = first;
first = second;
second = temp;
}
我在我的代码中使用它:
Swap<DateTime>(ref TarikhePayaneGozaresh, ref TarikheShorooeGhozaresh);
我已多次检查过,现在我很困惑。
正如你所看到的那样,价值没有变化!
更新:我已经编写了更多代码。
答案 0 :(得分:4)
交换工作正常:
var TarikhePayaneGozaresh = DateTime.Parse("9/9/2010 12:00:00 AM");
var TarikheShorooeGharardad = DateTime.Parse("9/9/1991 12:00:00 AM");
Swap<DateTime>(ref TarikhePayaneGozaresh, ref TarikheShorooeGharardad);
Console.WriteLine(TarikhePayaneGozaresh); // 09/09/1991 00:00:00
Console.WriteLine(TarikheShorooeGharardad); //09/09/2010 00:00:00
我只能得出结论,问题是你向我们展示的代码之外的东西,例如:
答案 1 :(得分:1)
您到底在哪里进行验证?
我注意到在CalculateMablagheDariaftieKol()
内你用一个非ref参数交换一个ref。
所以在CalculateMablagheDariaftieKol()
之外,您将看不到(完整)交换。