小编San*_*eep的帖子

无法将带有[]的索引应用于类型为"System.Collections.Generic.IEnumerable <>的表达式"

IEnumerable中是否允许索引是否有任何特定原因.

我找到了解决问题的方法,但只是想知道它为什么不允许索引.

谢谢,

c# generics ienumerable

61
推荐指数
5
解决办法
9万
查看次数

为什么C#结构是不可变的?

我只是想知道为什么结构,字符串等是不可变的?是什么原因使它们成为不可变的,其余的对象是可变的.有什么东西被认为是使对象不可变的?

对可变和不可变对象分配和释放内存的方式有什么不同吗?

.net c# immutability

57
推荐指数
4
解决办法
2万
查看次数

当参数类型是基类时,将Derived类作为参数传递给方法

我是一个新手,并试图理解继承和设计模式的概念.

当我浏览一些博客时,我遇到了这种模式http://en.wikipedia.org/wiki/Strategy_pattern.

我发现它很有趣,想要了解更多.所以我开发了以下程序.

static void Main(string[] args)
{
    Context context;

    // Three contexts following different strategies
    context = new Context(new ConcreteStrategyAdd());
    int resultA = context.executeStrategy(3, 4);

    context = new Context(new ConcreteStrategySubtract());
    int resultB = context.executeStrategy(3, 4);

    context = new Context(new ConcreteStrategyMultiply());
    int resultC = context.executeStrategy(3, 4);

    Console.Read();
}      

abstract class Strategy
{
    public abstract int execute(int a, int b);

    public void Test()
    {
        Console.Write("tttt");
    }
}

class ConcreteStrategyAdd : Strategy
{
    public override int execute(int a, int b) …
Run Code Online (Sandbox Code Playgroud)

c# inheritance

46
推荐指数
2
解决办法
4万
查看次数

接口可以包含变量吗?

可能重复:
为什么C#接口不能包含字段?

大家好,

Jon Skeet回答了一个问题,即使用属性是由变量支持的.

但是C#中允许接口中的属性.这是否意味着C#中的接口可以包含一个变量,该属性支持的变量将如何处理?

提前致谢.

.net c# oop properties interface

35
推荐指数
3
解决办法
7万
查看次数

代表与协议

可能重复:
协议和代理之间的区别?

协议和代表之间有什么区别吗?

如果它们相同,为什么我们需要两个做同样的事情呢?

何时使用委托以及何时使用协议.

我是Objective-C和Iphone编程的新手.所以请耐心等待.

iphone objective-c

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

什么是xcscheme文件?它的目的是什么?

我是学习iOS的新手.

有人可以解释一下xcscheme文件的用途是什么吗?

xcode ios

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

为什么忽略基类中声明的签名?

class Base
{
    public virtual void MethodA(int x)
    {
        Console.WriteLine ("In Base Class");
    }
}

class Derived : Base
{
    public override void MethodA(int x)
    {
        Console.WriteLine ("In derived INT)");
    }

    public void MethodA(object o)
    {
        Console.WriteLine ("In derived OBJECT");
    }
}

class Test
{
    static void Main()
    {
        Derived d = new Derived();
        int k = 20;
        d.MethodA(k);
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的输出是" In derived OBJECT ".这种奇怪行为的原因是什么?经过一番研究,我发现原因是忽略了基类中声明的签名.他们为什么被忽视?

c# inheritance

9
推荐指数
1
解决办法
355
查看次数

var与C#中的对象

可能重复:
C#中"var"和"object"之间的差异

我想知道var和object之间的区别.

何时使用Var以及何时使用Object.

使用它们的利弊.

c#

8
推荐指数
4
解决办法
1万
查看次数

接口实例

我是C#.net的新手,很惊讶地知道可以创建一个接口的实例

Iinterface myDimensions = (Iinterface) myBox;
Run Code Online (Sandbox Code Playgroud)

如何为这种类型的语句分配内存?是在堆上分配内存吗?

任何人都可以给出使用这种类型的实例化的任何情况.

实现接口的类可以显式实现该接口的成员.显式实现成员时,不能通过类实例访问它,而只能通过接口的实例访问它.

为什么在语言中强制执行这样的约束?

谢谢,

.net c# interface

6
推荐指数
3
解决办法
3842
查看次数

构造函数链的目的是什么?

在阅读了这个构造函数链接问题之后,我只是想知道为什么会有人进行构造函数链接?

有人可以对这可能有用的场景类型有所了解.

这是一个很好的编程习惯吗?

c# java oop constructor coding-style

6
推荐指数
1
解决办法
1080
查看次数