小编Des*_*ted的帖子

关于是否使用不安全代码和stackalloc固定的困惑

我在下面有一段代码,只有一行注释掉了.该CreateArray方法中发生的情况与注释掉的行相同.我的问题是,当行b->ArrayItems = d被取消注释时它为什么会起作用,但在注释掉时会返回垃圾?我不认为我必须"修复"任何东西,因为所有的信息都是不受管理的.这个假设是不正确的?

class Program
{
    unsafe static void Main(string[] args)
    {
        someInstance* b = stackalloc someInstance[1];
        someInstance* d = stackalloc someInstance[8];

        b->CreateArray();
//      b->ArrayItems = d;

        *(b->ArrayItems)++ = new someInstance() { IntConstant = 5 };
        *(b->ArrayItems)++ = new someInstance() { IntConstant = 6 }; 

        Console.WriteLine((b)->ArrayItems->IntConstant);
        Console.WriteLine(((b)->ArrayItems - 1)->IntConstant);
        Console.WriteLine(((b)->ArrayItems - 2)->IntConstant);
        Console.Read();
    }
}

public unsafe struct someInstance
{
    public someInstance* ArrayItems;
    public int IntConstant;
    public void CreateArray()
    {
        someInstance* d = stackalloc someInstance[8];
        ArrayItems …
Run Code Online (Sandbox Code Playgroud)

c# arrays types unsafe

3
推荐指数
1
解决办法
1348
查看次数

处理大量整数的最佳方法

我有一个大约10-100k整数的数组,我需要存储(尽可能压缩),并以尽可能快的方式返回到完整的数组.使用c#等语言处理此类事物的最佳方法是什么?

c# xml compression integer

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

Visual Studio 减慢应用程序速度

这是一个模糊的问题,但是对于 Visual Studio 减慢应用程序速度我能做些什么吗?如果我在 Visual Studio 之外运行可执行文件,它会以非常可接受的速度运行。如果我在启用调试器的情况下在 Visual Studio 中运行它,它的运行速度会慢近 200 倍。我尝试卸载并重新安装 Visual Studio,但没有成功。我删除了所有插件(ants 和 resharper),但仍然什么也没有。我在另一台计算机上的视觉工作室中运行了该项目,速度正常。我可以做什么来解决这个问题?这似乎是最近发生的,但也可能是逐渐发生的。

更新:我现在已经在其他视觉工作室中运行了它,并且速度仍然缓慢。我唯一的结论是,我以应用程序中的速度分配内存的方式导致调试器以某种方式减慢速度。有人有过发生这种情况的经验吗?

c# debugging visual-studio

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

Simulate Pivot Rotate Using Transform In SVG

我在 SVG 中有一个矩形,我需要从特定点在枢轴上旋转。我能看到的最好的方法是变换到枢轴的 xy,旋转度数,然后再次变换。问题是第二次变换的 xy。我认为它会在某种程度上考虑 cos 和 sin,只是不确定在哪里或为什么。

*
|
|
|
Run Code Online (Sandbox Code Playgroud)

将旋转 -90 度到

*---
Run Code Online (Sandbox Code Playgroud)

也许我看错了,有人可以澄清吗?

javascript svg canvas transform rotation

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

Phonegap画布刷新率低

我正在构建一个基于画布的网页游戏,在桌面上以60fps的速度运行.它在Android上的chrome运行速度为60fps.我将它加载到一个phonegap应用程序中,fps表仍然读取60fps,但屏幕只是每隔几个滴答一次.是否存在刷新率限制器,迫使webview仅每秒钟绘制一次?还有什么其他的东西可以限制我的绘图,即使网站说它的重绘速度为60fps?

javascript performance android canvas cordova

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

C#解释语言

我期待在C#中编写一种解释性语言,我应该从哪里开始?我知道如何使用有趣的字符串解析来实现它,但正确的方法是什么?

c# parsing interpreted-language

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

C#默认可选参数选择器

    public ClassType(string type) {
        Type = type;
    }
    public ClassType(string type,bool isArray=false) {
        Type = type;
        IsArray = isArray;
    }


    ClassType ct = new ClassType("adsf");
Run Code Online (Sandbox Code Playgroud)

选择了哪个构造函数?

.net c# parameters constructor optional-parameters

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

堆栈溢出/内存不足

我最近在c#中编写应用程序,由于以有趣的方式处理大量数据,因此使用大量内存或堆栈溢出.有没有更适合这种类型的语言?我可以从学习不同的语言(除了c ++之外)中受益吗?

c#

0
推荐指数
1
解决办法
244
查看次数

奇怪的Lambda表达问题

List<string> a = new List<string>() { "a", "b", "c" };
List<string> b = new List<string>() { "a", "b", "c", "d", "e", "f" };

b.RemoveAll(a.Contains);
Run Code Online (Sandbox Code Playgroud)

如果你遍历b,它现在只包含de和f.任何人都可以扩展实际发生的事情,因为目前它根本没有任何意义.

编辑:我更多地谈论谓词的使用.怎么知道如何将内容传递到哪里?

.net c# linq lambda .net-3.5

0
推荐指数
2
解决办法
384
查看次数