相关疑难解决方法(0)

643
推荐指数
15
解决办法
33万
查看次数

什么是多态,它是什么,以及它是如何使用的?

我正在观看Google Tech Talks视频,他们经常提到多态性.

什么是多态,它是什么,以及它是如何使用的?

oop polymorphism computer-science

541
推荐指数
12
解决办法
48万
查看次数

为什么我们需要在C#中装箱和拆箱?

为什么我们需要在C#中装箱和拆箱?

我知道拳击和拆箱是什么,但我无法理解它的实际用途.我应该在哪里以及在哪里使用它?

short s = 25;

object objshort = s;  //Boxing

short anothershort = (short)objshort;  //Unboxing
Run Code Online (Sandbox Code Playgroud)

.net c# boxing

307
推荐指数
6
解决办法
13万
查看次数

在结构上使用"new"在堆或堆栈上分配它吗?

使用new运算符创建类的实例时,将在堆上分配内存.当您使用new运算符创建结构的实例时,在堆上还是堆栈上分配内存?

.net c# memory-management

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

为什么我不能继承静态类?

我有几个不需要任何州的课程.从组织的角度来看,我想把它们放到层次结构中.

但似乎我无法为静态类声明继承.

像这样的东西:

public static class Base
{
}

public static class Inherited : Base
{
}
Run Code Online (Sandbox Code Playgroud)

不管用.

为什么语言的设计者会关闭这种可能性?

c# inheritance static

216
推荐指数
3
解决办法
14万
查看次数

C#中的可变字符串和不可变字符串有什么区别?

C#中的可变字符串和不可变字符串有什么区别?

c# string

188
推荐指数
8
解决办法
22万
查看次数

当我可以直接实现这些方法时,为什么我应该在C#中使用接口

我知道这是一个非常基本的问题,但是一位采访者以非常戏法的方式问我,我很无奈:(

我只知道接口的材料或理论定义,并且在我工作的许多项目中也实现了它.但我真的不明白为什么以及如何有用.

我也不了解界面中的一件事.即,例如,我们使用

conn.Dispose();在最后一块.但我没有看到该类正在实现或继承IDisposableinterface(SqlConnection)类我的意思.我想知道如何调用方法名称.同样,我不了解Dispose方法是如何工作的,因为我们需要使用我们自己的实现为所有接口方法实现函数体.接口如何被接受或命名为合同?到目前为止,这些问题一直在我心中滚动,坦率地说,我从来没有看到任何能以我能理解的方式解释我的问题的好线程.

MSDN像往常一样看起来非常可怕,没有一行是明确的(伙计们,善意的理由是谁进入高级开发,我强烈认为任何代码或文章应该达到任何人看到它的想法,因此像许多人说的那样,MSDN是没用的).

采访者说:

他有5种方法,他很乐意直接在课堂上实现它,但如果你必须选择抽象类或接口,你选择哪一种,为什么?我确实回答了他在各种博客中读到的所有内容,说明抽象类和界面的优缺点,但他不相信,他试图理解"为什么界面"."为什么抽象类"一般,即使我只能实现相同的方法一次而不是改变它.

我看不到网络中的任何地方,我可以得到一篇文章,可以清楚地解释我的接口及其功能.我是众多程序员中的一员,他们仍然不了解接口(我知道我使用的理论和方法)但不满意我清楚地理解它.

c# oop abstraction interface class

106
推荐指数
6
解决办法
8万
查看次数

内存分配:堆栈与堆?

我对Stack vs Heap之间的内存分配基础感到困惑.根据标准定义(每个人都说的东西),所有值类型都将被分配到堆栈,参考类型将进入.

现在考虑以下示例:

class MyClass
{
    int myInt = 0;    
    string myString = "Something";
}

class Program
{
    static void Main(string[] args)
    {
       MyClass m = new MyClass();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,内存分配将如何在c#中发生?MyClass(即m)的对象是否会完全分配给堆?也就是说,int myIntstring myString既会去堆?

或者,该对象将分为两部分,并将分配给两个内存位置,即堆栈和堆?

.net c# heap stack

79
推荐指数
4
解决办法
6万
查看次数

"文字"这个词是什么意思?

在文字字符串和文字值等上下文中使用时,"文字"这个词的含义是什么?

字面值和值之间有什么区别?

c# language-agnostic glossary terminology

72
推荐指数
6
解决办法
4万
查看次数

装箱/拆箱和铸造有什么区别?

装箱/拆箱和铸造有什么区别?

通常,这些术语似乎可以互换使用.

.net boxing unboxing casting

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