小编Blu*_*eft的帖子

为什么ICollection <T>没有实现ICollection?

IEnumerable<T>实施IEnumerable.
但是ICollection<T>没有实施ICollection.

这个理由是什么和/或只是一个疏忽?

.net generics

29
推荐指数
3
解决办法
5562
查看次数

第二次构建时“XamarinTelemetry 任务意外失败”

使用最新的 VS 预览版(VS 17.3 预览版 3),无论是 Android 还是 iOS,第一次构建我的应用程序时都可以运行,但第二次时会失败

“XamarinTelemetry”任务意外失败。

查看日志我看到这个:

1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: The "XamarinTelemetry" task failed unexpectedly.
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018: File name: 'Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    at Microsoft.VisualStudio.Telemetry.TelemetrySessionSettings.GetFaultEventBucketFilterJson(List`1 bucketFilters)
1>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Xamarin\Xamarin.Sdk.targets(138,9): error MSB4018:    at Microsoft.VisualStudio.Telemetry.TelemetrySessionSettings.ToString() …
Run Code Online (Sandbox Code Playgroud)

visual-studio xamarin.ios xamarin.android xamarin xamarin.forms

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

Python是否对字符串进行逐个引用?

我想知道我什么时候做的事情

a = "This could be a very large string..."
b = a[:10]
Run Code Online (Sandbox Code Playgroud)

创建一个新字符串或返回一个视图/迭代器

python string

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

色彩逻辑算法

我们正在构建一个体育应用程序,并希望将团队颜色合并到应用程序的各个部分.

现在每个团队都可以用几种不同的颜色来表示.

我想做的是执行检查以验证两个团队颜色是否在彼此的特定范围内,以便我不显示两个相似的颜色.

所以,如果团队1的主要团队颜色的值为rgb(255,0,0)(或#FF0000),团队2的主要颜色相似,比如rgb(250,0,0),那么我们会选择不同的颜色其中一支球队的颜色.

如果可能的话,我可以采取什么方法来执行检查?

谢谢

javascript java algorithm colors

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

我在JIT/CLR中发现了一个错误 - 现在我该如何调试或重现它?

我有一个计算成本高昂的多线程C#应用程序,在运行30-90分钟后似乎一直崩溃.它给出的错误是

运行时遇到了致命错误.错误的地址是0xec37ebae,在线程0xbcc上.错误代码是0xc0000005.此错误可能是CLR中的错误,也可能是用户代码的不安全或不可验证部分中的错误.此错误的常见来源包括COM-interop或PInvoke的用户编组错误,这可能会破坏堆栈.

(0xc0000005是访问冲突的错误代码)

我的应用程序不会调用任何本机代码,或使用任何不安全的块,甚至任何非CLS兼容的类型,如uint.实际上,调试器所说的导致崩溃的代码行是

overallLength += distanceTravelled;
Run Code Online (Sandbox Code Playgroud)

两个值都是类型的 double


考虑到这一切,我认为崩溃必定是由于编译器或CLR或JIT中的错误造成的.我想找出导致它的原因,或者至少写一个较小的复制品发送到微软,但我不知道从哪里开始.我从来没有必要查看CIL二进制文件,或编译的JIT输出,或本机堆栈跟踪(崩溃时没有托管堆栈跟踪),所以我不确定如何.我甚至无法弄清楚如何在崩溃时查看所有变量的状态(很遗憾,VS不会告诉我像在托管异常之后那样,并将它们输出到控制台/文件会减慢应用程序1000倍,这显然不是一个选项).

那么,我该如何调试呢?


[编辑]在VS 2010 SP1下编译,运行最新版本的.Net 4.0 Client Profile.显然它是".Net 4.0C/.Net 4.0E,.Net CLR 1.1.4322"

.net c# debugging jit compiler-errors

24
推荐指数
4
解决办法
3404
查看次数

非确定性编程语言

我知道在Prolog中你可以做类似的事情

someFunction(List) :- 
    someOtherFunction(X, List)
    doSomethingWith(X)
    % and so on
Run Code Online (Sandbox Code Playgroud)

这不会迭代List中的每个元素; 相反,它将分支到不同的"机器" (通过使用多个线程,在单个线程上回溯,创建并行Universe或者你是什么),并为每个可能的X值执行单独的执行,导致someOtherFunction(X, List)返回true!
(我不知道它是如何做到的,但这对问题并不重要)

我的问题是: 还有哪些其他非决定性编程语言? 似乎非确定性是在具有不可变变量的语言中实现多线程的简单化和最合乎逻辑的方式,但我以前从未见过这样做 - 为什么这种技术不再流行?

multithreading functional-programming prolog non-deterministic

23
推荐指数
3
解决办法
4994
查看次数

为什么null需要显式类型转换?

以下代码无法编译:

//int a = ...
int? b = (int?) (a != 0 ? a : null);
Run Code Online (Sandbox Code Playgroud)

为了编译,需要将其更改为

int? b = (a != 0 ? a : (int?) null);
Run Code Online (Sandbox Code Playgroud)

由于这两个b = nullb = a是合法的,这是没有意义的我.

为什么我们不得不强制null转换为一个int?为什么我们不能简单地为整个表达式提供一个显式类型转换(我知道在其他情况下可能)?

.net c# null casting

21
推荐指数
3
解决办法
2599
查看次数

Flash Actionscript 3 Bug?在开关/案例中使用int和负数

运行此代码

var myValue1:int = 2;
switch (myValue1)
{
    case -3: trace(myValue1 + " == -3"); break;
    case -2: trace(myValue1 + " == -2"); break;
    case -1: trace(myValue1 + " == -1"); break;
    case 0:  trace(myValue1 + " == 0"); break;
    case 1:  trace(myValue1 + " == 1"); break;
    case 2:  trace(myValue1 + " == 2"); break;
    case 3:  trace(myValue1 + " == 3"); break;
    default: trace(myValue1 + " is unknown"); break;
}

var myValue2:int = -2;
switch (myValue2)
{
    case …
Run Code Online (Sandbox Code Playgroud)

debugging flash actionscript actionscript-3 flash-builder

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

是否可以调用驻留在exe中的非导出函数?

我想调用驻留在第三方.exe中的函数并获取其结果.似乎应该有一种方法,只要我知道函数地址,调用约定等...但我不知道如何.

有谁知道我会怎么做?

我意识到任何解决方案都是非标准的黑客攻击,但必须有办法!


我的非恶意用例:我正在为我的软件逆向工程文件格式.这个函数的计算过于复杂,我的小脑子无法弄清楚; 我已经能够将汇编代码直接拉到我自己的DLL中进行测试,但当然我无法释放它,因为那样会被窃取.我将假设用户已预先安装了此特定应用程序,因此我的软件将运行.

c windows x86 assembly reverse-engineering

18
推荐指数
2
解决办法
2211
查看次数

带有传送器的网格上的*可接受的启发式算法?

假设你有一个2D网格的单元格,其中一些是用墙填充的.角色可以从一个正方形到任何与其一步水平或垂直的正方形,但不能穿过墙壁.

给定起始位置和结束位置,我们可以通过使用具有可允许启发式的A*算法找到从起始位置到结束位置的最短路径.在目前的设置中,曼哈顿距离是可以接受的,因为它永远不会高估到目的地的距离.

现在假设除了墙壁之外,世界上还有成对的传送器.踏上传送器会立即将角色传送到链接的传送器.传送器的存在打破了上面给出的允许启发式,因为通过使用传送器来减少距离,可能比通过最佳曼哈顿距离步行更快地到达目的地.例如,考虑这个线性世界,其中传送器标记为T,开始位置标记为S,结束位置标记为E:

T . S . . . . . . . . . . . . . E . T
Run Code Online (Sandbox Code Playgroud)

在这里,最好的路线是步行到左边的传送器,然后向左走两步.

我的问题是:在带有传送器的网格世界中,A*的一个很好的可接受的启发式算法是什么?

谢谢!

algorithm artificial-intelligence heuristics a-star path-finding

18
推荐指数
2
解决办法
2650
查看次数