小编She*_*Pro的帖子

为什么我们都有锯齿状数组和多维数组?

  1. 锯齿状数组和多维数组之间有什么区别.彼此之间有什么好处?

  2. 为什么Visual Studio不允许我这样做

    MyClass[][] abc = new MyClass[10][20];
    
    Run Code Online (Sandbox Code Playgroud)

    (我们曾经在C++中这样做,但在C#中它用红色蠕动线强调[20] ..说无效的等级说明符)

    但很高兴

    MyClass[,] abc = new MyClass[10,20];
    
    Run Code Online (Sandbox Code Playgroud)
  3. 最后,我如何在一行中初始化它(就像我们在简单数组中一样{new xxx...}{new xxx....})

    MyClass[][,][,] itemscollection;
    
    Run Code Online (Sandbox Code Playgroud)

.net c# arrays visual-studio-2010

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

今天(Jules Verne)谷歌的涂鸦如何运作?

我相信你们中的许多人已经检查了今天的(2011-02-08)Google的涂鸦(如果涂鸦更改,链接到CNN上的文章).它太棒了,我试着搞清楚它在Firebug中的实现,我发现的一些事情是它有大约3层图像(用于3D效果),它们是平移和旋转(-moz-transform:rotate())等等.我没有发现什么(和我的问题):

  • 当你握住手柄时它如何隐藏我们的鼠标光标,我知道它cursor:none在CSS中,但我仍然看到这个CSS的句柄:

    #verne-drag {
        background: url("logos/2011/verne-hp.png") no-repeat scroll 1000px 1000px transparent;
        cursor: pointer;/*here its pointer not none*/
        height: 150px;
        left: 565px;
        position: absolute;
        top: 15px;
        width: 150px;
        z-index: 700;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 它如何允许拖动手柄,并根据位置同时在9个图像之间交换.

  • 在它的Javascript上有一些亮点(我没有在firebug中找到一个...只有那个通常用于搜索的脚本,而这个只是计算mod的小代码(可能代码的其他任务怎么样)

    google.doodle.mod = function (a, n) {return a % n;};
    2 /* !eval(new String("google.doodle.mod = function(a,n);)) */
    
    Run Code Online (Sandbox Code Playgroud)

所以简单地指出它是如何实现的(我已经提到过3但是包含其他可能不那么明显的点).


图片资源供参考:

Sprite的资源

链接到其他3张图片(它们很长,这里显示不可行)

大鱼,鲨鱼
巨型尾巴
在水动物群
天空下


更新

Myles Gray通过重新实现(并使其更具可读性)Javascript代码,CSS和HTML向我们展示了如何实现Doodle,做出了巨大的贡献.

以下是您查看的链接:

http://jsfiddle.net/Mutant_Tractor/jRkND/16/ < - 最新版本

javascript google-doodle

48
推荐指数
2
解决办法
4864
查看次数

为什么VB.Net中的每个表单都有默认实例,而C#中没有?

我只是想知道有(Name)属性,它表示Form类的名称.此属性在命名空间内用于唯一标识Form是其实例的类,并且在Visual Basic的情况下,用于访问表单的默认实例.

现在,这个默认实例的来源,为什么C#不能有一个等效的方法.

另外例如,为了在C#中显示一个表单,我们执行以下操作:

// Only method
Form1 frm = new Form1();
frm.Show();
Run Code Online (Sandbox Code Playgroud)

但是在VB.Net中我们有两种方法可以做到:

' First common method
Form1.Show()

' Second method
Dim frm As New Form1()
frm.Show()
Run Code Online (Sandbox Code Playgroud)
  1. 我的问题来自第一种方法.这是什么Form1,它是一个实例 Form1Form1类本身?现在,正如我上面提到的,Form名称是VB.Net中的Default实例.但我们也知道这Form1是一个定义的类,Designer那么实例和类名的名称是如何相同的?如果Form1是一个类,则没有名为Show()的(Static\Shared)方法.那么这种方法来自哪里?

  2. 他们在生成的IL中有什么不同?

  3. 最后为什么C#不能与之相提并论呢?

c# vb.net winforms

43
推荐指数
2
解决办法
7258
查看次数

搁置Team Foundation服务器中的待定更改

我是Team Foundation Server的新手,所以我想知道Team Foundation Service中的"Shelve Pending Changes"是做什么的.我在Codeplex上使用TFS项目.

tfs codeplex

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

错误404的默认重定向

我想在我的ASP.net网站上介绍一个功能,每当收到我域上未知URL的请求时,用户就会被重定向到error_404.htm应用程序根目录中的页面.

例如,如果请求是 http://www.mydomain.com/blahblahblah

然后,我希望它将请求重定向到,而不是返回标准的404错误页面 http://www.mydomain.com/error_404.htm

更新 IIS 7.5和.NET Framework版本4

更新 /blah.aspx重定向但/blah不重定向

asp.net redirect default http

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

为什么将HashTable的长度设置为素数是一个好习惯?

当我点击这段时,我正在阅读Eric Lippert 关于GetHashCode指南和规则的最新博客帖子:

我们在这里可能更聪明; 就像List在它满了时调整自身大小一样,bucket set也可以自行调整大小,以确保平均bucket长度保持低位.此外,由于技术原因,通常最好将存储桶设置长度设为素数,而不是100.我们可以对此哈希表进行大量改进.但是这个哈希表的简单实现的快速草图现在可以做到.我想保持简单.

所以看起来我错过了一些东西.为什么将它设置为素数是一个好习惯?

c# arrays primes hashcode

24
推荐指数
3
解决办法
8453
查看次数

如何在不事先知道类型的情况下使用XmlSerializer反序列化可能是基类或派生类的对象?

在C#中,如何在不XmlSerializer事先知道类型的情况下使用an 反序列化可能是基类的对象,或者反序列化任何几个派生类?

我的所有派生类都添加了其他数据成员.我已经制作了一个简单的GUI,可以序列化和反序列化类对象.它将序列化对象,因为任何继承的类(甚至只是基类)都适合于用户选择填充的字段.

我对序列化没有任何问题; 问题是反序列化.如何XmlSerializer在不事先知道类的情况下将反序列化数据传递给正确的派生类?我目前创建一个XmlReader读取XML文件的第一个节点并从中确定类,它似乎适用于我的目的,但它似乎是一个非常不优雅的解决方案.

我在下面发布了一些示例代码.有什么建议?

BaseType objectOfConcern = new BaseType();
XmlSerializer xserializer;
XmlTextReader xtextreader = new XmlTextReader(DEFAULT_FILENAME);

do { xtextreader.Read(); } while (xtextreader.NodeType != XmlNodeType.Element);

string objectType = xtextreader.Name;
xtextreader.Close();

FileStream fstream = new FileStream(DEFAULT_FILENAME, FileMode.Open);

switch (objectType)
    {
case "type1":
    xserializer = new XmlSerializer(typeof(DerivedType));

    objectOfConcern = (DerivedType)xserializer.Deserialize(fstream);

    //Load fields specific to that derived type here
    whatever = (objectOfConcern as DerivedType).NoOfstreamubordinates.ToString();

    case "xxx_1":
        //code here

    case "xxx_2":
        //code here

    case "xxx_n":
        //code here …
Run Code Online (Sandbox Code Playgroud)

c# xml-serialization derived-class xml-deserialization

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

如何使用HTML5 <canvas> clip()

我是HTML5的新手,<canvas>并试图制作一些东西,实际上绘制了PORTAL2徽标:).

到目前为止我已经知道了

在此输入图像描述

但是你可以看到腿突出了墙壁,我想知道如何削减额外的油漆.

我想它可以用clip()功能完成,但我不知道如何使用它.

这就是我想要的

在此输入图像描述

这是我正在尝试的代码,也可以在JS Bin http://jsbin.com/exado5/edit上找到

//function to convert deg to radian
function acDegToRad(deg)
{
     return deg* (-(Math.PI / 180.0));    
}

//set fill color to gray
ctx.fillStyle = "rgb(120,120,120)";
//save the current state with fillcolor
ctx.save();

//draw 2's base rectangle
ctx.fillRect(20,200,120,35);
//bring origin to 2's base
ctx.translate(20,200);
//rotate the canvas 35 deg anti-clockwise
ctx.rotate(acDegToRad(35));
//draw 2's slant rectangle
ctx.fillRect(0,0,100,35);
//restore the canvas to reset transforms
ctx.restore();
//set stroke color width and draw the 2's …
Run Code Online (Sandbox Code Playgroud)

javascript html5 canvas clip

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

扩展方法如何挂钩

我只是想知道如何将Extension方法连接到Original类.我知道在IL代码中它调用了静态方法,但它是如何做到的,为什么不打破封装.

.net c#

10
推荐指数
2
解决办法
425
查看次数

将用户设置存储到应用程序文件

我正在使用我的C#应用​​程序中的设置,如下所示:

String str = Properties.Settings.Default.SETTINGS_NAME;
Run Code Online (Sandbox Code Playgroud)

保存此设置时,会创建一个设置文件

C:\Documents and Settings\<user name>\Local Settings\Application Data\<comp name>\Keb.exe_Url_pbs4eg1o2ija22omldrwjxhdam0jxxi5\1.0.0.0\user.config
Run Code Online (Sandbox Code Playgroud)

有没有办法改变这条路径Application.ExecutablePath\user.config,并在下次使用它,以便我的应用程序可以更便携?

.net c# portability app-config

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