小编ric*_*ard的帖子

在MulticastDelegate上调用BeginInvoke?

根据Jon Skeet的说法,"您只能在具有单个目标调用的委托上调用BeginInvoke."

这是为什么?真正的原因是什么?

注意:为了澄清(因为我犯了这个错误),我说的BeginInvoke是代表,而不是控件.

.net c# begininvoke multicastdelegate

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

为什么C#包含不符合CLS的编程结构?

看起来奇怪的是,.NET的旗舰语言将包括不符合CLS的编程结构.这是为什么?

示例(从此处):仅使用大小写差异定义的两个或多个公共/受保护/受保护的内部成员

public int intA = 0;
public int INTA = 2; 
Run Code Online (Sandbox Code Playgroud)

要么

public int x = 0;

public void X()
{
} 
Run Code Online (Sandbox Code Playgroud)

.net c# cls-compliant

8
推荐指数
3
解决办法
1485
查看次数

.NET - 如何在(someType)someobject中使用"as"显式转换为"as",为什么?

我明白当你使用这样的显式演员时:

(someType)someobject
Run Code Online (Sandbox Code Playgroud)

如果someobject不是真的,你可以得到一个无效的强制转换异常someType.

我也明白,当你这样投射时as:

myObject = someObject as someType
Run Code Online (Sandbox Code Playgroud)

myObjectnull如果someObject不是真的,那就是渲染someType.

这些评估方式有何不同?为什么?

.net c# casting explicit

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

是否存在具有键/值对的通用集合,其中键可以多次出现?

我想使用类似的泛型集合Dictionary,但Dictionary要求每个键都是唯一的.我有相同"密钥"的多个值,所以我需要一个允许的通用集合.

我意识到这使得钥匙不再是钥匙,但我不知道还有什么可以称之为钥匙.

.net dictionary generic-collections

8
推荐指数
2
解决办法
5218
查看次数

SQL Server性能:GROUP BY int vs GROUP BY VARCHAR

按不同数据类型分组时是否存在性能差异?例如,如果我按INT分组,我是否会获得比使用varchar分组更好的性能?

sql-server performance types group-by

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

.NET - 为什么C#中没有定点数值数据类型?

看起来固定点数据类型会有很多用途.为什么.NET中没有一个?

注意:我知道我们可以创建自己的类/结构来满足我们的定点目的和需求.那不是我的问题.我想知道为什么MS决定不包括定点数字数据类型.

.net c# fixed-point

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

序列化继承:如果基类未标记为[Serializable],是否会抛出异常?

参加考试,考试说我错了.以黄色标记的答案是假定的正确答案.

在下面的引用中,我认为粗体标记的部分是错误的:"Serializable属性不是由派生类继承的,因此如果您只使用Serializable属性标记Encyclopedia类,则运行时将在尝试序列化时抛出异常名称字段 ".

在此输入图像描述

我实际上创建了一个示例项目,其中包含一个Animal类和一个Cat派生自该类的类.我标记了Cat课程[Serializable]Animal课程没有.

我能够成功地序列化和反序列化Cat类,包括Animal属性.

这是.NET版本问题吗?考试是70-536,所以它的目标是2.0.

.net c# inheritance serializable

7
推荐指数
1
解决办法
1041
查看次数

使用GD获取图像所有像素的地图的更好方法

以下代码使用SimpleImage库

我有一个从图像中获取像素的函数:

function getPixel($x, $y) {

    $colors = imagecolorsforindex($this->image, imagecolorat($this->image, $x, $y));
    $n[0] = $colors['red'];
    $n[1] = $colors['green'];
    $n[2] = $colors['blue'];
    $str = "#";
    for($x=0;$x < 3; $x++){
        $n[$x] = intval($n[$x],10);
        if (is_nan($n[$x])) return "00";
        $n[$x] = max(0, min($n[$x],255));
        $bam = "0123456789ABCDEF";
        $str .= $bam{($n[$x]-$n[$x]%16)/16} . $bam{$n[$x]%16};
    }
    return $str; 
}
Run Code Online (Sandbox Code Playgroud)

为了获得图像中的每个像素,我使用这个循环:

$arr = [];
for($y = 0;$y < $image->getHeight(); $y++){
    $arr[$y] = [];
    for($x = 0; $x < $image->getWidth(); $x++){
        $arr[$y][$x] = $image->getPixel($x, $y);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道GD和PHP是否有更快的方法来做到这一点?

编辑 …

php gd

7
推荐指数
1
解决办法
3529
查看次数

协方差和反演 - 只是调用保证基类行为的不同机制?

我正在努力理解这两个概念.但我想在经过许多视频和SO QA之后,我将它简化为最简单的形式:

协变 - 假设一个子类型可以做它的基类型.
逆变 - 假设您可以像处理其基本类型一样处理子类型.

假设这三个类:

class Animal
{
    void Live(Animal animal)
    {
        //born!
    }

    void Die(Animal animal)
    {
        //dead!
    }

}

class Cat : Animal
{

}

class Dog : Animal
{

}
Run Code Online (Sandbox Code Playgroud)

协变

任何动物都可以做动物做的事.
假设子类型可以执行其基类型的操作.

Animal anAnimal = new Cat();
anAnimal.Live();
anAnimal.Die();

Animal anotherAnimal = new Dog();
anotherAnimal.Live();
anotherAnimal.Die();
Run Code Online (Sandbox Code Playgroud)

逆变

任何你可以做一个动物,你可以做任何动物.
假设您可以像处理其基类型一样处理子类型.

Action<Animal> kill = KillTheAnimal;

Cat aCat = new Cat();
KillTheCat(kill, aCat);

Dog = new Dog();
KillTheDog(kill, …
Run Code Online (Sandbox Code Playgroud)

c# covariance contravariance

7
推荐指数
2
解决办法
674
查看次数

使用HttpClient的Async NancyFX - fbcdn的GetAsync返回403 forbidden?

注意:我已经改变了这个问题,试图让它更多地指出问题所在.以下评论不再反映这个问题.

我想从fbcdn获取这个图像:

https://scontent.xx.fbcdn.net/v/t1.0-1/c15.0.50.50/p50x50/10354686_10150004552801856_220367501106153455_n.jpg?oh=6c801f82cd5a32fd6e5a4258ce00a314&oe=589AAD2F

浏览器得到它就好了.这是我的代码:

public class ReverseProxyController : NancyModule
{
    public ReverseProxyController()
    {
        Get["/", true] = async (parameters, ct) =>
        {
            var result = await GetResult(parameters, ct);
            return result;
        };
    }

    private async Task<Response> GetResult(dynamic parameters, CancellationToken ct)
    {
        var client = new HttpClient();
        string url = Request.Query["url"].Value.ToString();
        if (url == null) return null;

        client.DefaultRequestHeaders.Add("Access-Control-Allow-Origin", "*");
        client.DefaultRequestHeaders.Add("User-Agent",
            "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36");
        client.DefaultRequestHeaders.Add("Upgrade-Insecure-Requests", "1");
        client.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
        client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate, sdch, br");
        client.DefaultRequestHeaders.Add("Accept-Language", "en-US,en;q=0.8,ru;q=0.6");
        var …
Run Code Online (Sandbox Code Playgroud)

.net c# async-await nancy dotnet-httpclient

7
推荐指数
1
解决办法
824
查看次数