相关疑难解决方法(0)

C#接口.隐式实现与显式实现

在C#中隐式显式实现接口有什么区别?

什么时候应该使用隐式?什么时候应该使用显式?

是否有任何利弊和/或缺点?


Microsoft的官方指南(来自第一版框架设计指南)声明不建议使用显式实现,因为它会给代码带来意外行为.

我认为这个指南在IoC之前的时候是非常有效的,当你没有作为接口传递时.

任何人都可以触及这方面吗?

.net c# interface

615
推荐指数
10
解决办法
14万
查看次数

获取对数组内部结构的引用

我想修改一个结构的字段,该结构在一个数组内,而不必设置整个结构.在下面的示例中,我想在数组中设置元素543的一个字段.我不想复制整个元素(因为复制MassiveStruct会损害性能).

class P
{
    struct S
    {
      public int a;
      public MassiveStruct b;
    }

    void f(ref S s)
    {
      s.a = 3;
    }

    public static void Main()
    {
      S[] s = new S[1000];
      f(ref s[543]);  // Error: An object reference is required for the non-static field, method, or property
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在C#中做到这一点?或者我总是要从数组中复制整个结构,修改副本,然后将修改后的副本放回到数组中.

c# arrays struct ref

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×2

.net ×1

arrays ×1

interface ×1

ref ×1

struct ×1