gpt4 book ai didi

c# - 我的交换功能不起作用

转载 作者:行者123 更新时间:2023-11-30 15:07:58 29 4
gpt4 key购买 nike

我想清楚地讨论我的问题。
我有一个函数来交换两个变量的值

    public static void Swap<T>(ref T first, ref T second)
{
T temp = first;
first = second;
second = temp;
}

我在我的代码中这样使用它:

        Swap<DateTime>(ref TarikhePayaneGozaresh, ref TarikheShorooeGhozaresh);

查了很多遍,现在一头雾水。如您所见,该值没有交换!
更新:我写了更多的代码。

最佳答案

交换工作正常:

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

我只能得出结论,问题出在您向我们展示的代码之外,例如:

  • 混淆 TarikheShorooeGharardad 和 TarikhePayaneGozaresh 在每个点引用的字段/属性/变量(点击“显示定义”以确保它们相同)
  • 在字段/属性的情况下,混淆它们与哪些对象相关
  • 任何涉及可变结构的东西(即具有在创建后可以改变的值的结构)......可变结构是邪恶的并且总是会引起混淆,例如似乎意外消失的变化
    • 或者如果它有明确的布局则加倍(不太可能,但如果被滥用则更加邪恶)

关于c# - 我的交换功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087177/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com