メソッド内のdapperコードにLink.TryAddは、次のコードがあります。
var snapshot = Interlocked.CompareExchange(ref head, null, null);
単純ではなく、これが必要なのはなぜですか。
var snapshot = head;
両方の行はの値を変更しません。両方の行がの値をにhead割り当てます。なぜ最初のものが2番目よりも選ばれたのですか?headsnapshot
編集:私が参照しているコードはここにあります:https ://github.com/SamSaffron/dapper-dot-net/blob/77227781c562e65c167bf7a933d69291d5bdc6f3/Dapper/SqlMapper.cs