小编Win*_*ith的帖子

Plinq给出了Linq不同的结果 - 我做错了什么?

谁能告诉我Plinq的正确代码是什么?我将双数组中每个元素的正弦的绝对值的平方根加起来,但是Plinq给了我错误的结果.

该计划的输出是:

Linq聚合= 75.8310477905274(正确)Plinq聚合= 38.0263653589291(大约应该是它的一半)

我一定是做错了什么,但我找不到什么......

(我在Core 2 Duo Windows 7 x64 PC上运行Visual Studio 2008.)

这是代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            double[] array = new double[100];

            for (int i = 0; i < array.Length; ++i)
            {
                array[i] = i;
            }

            double sum1 = array.Aggregate((total, current) => total + Math.Sqrt(Math.Abs(Math.Sin(current))));
            Console.WriteLine("Linq aggregate = " + sum1);

            IParallelEnumerable<double> parray = array.AsParallel<double>();
            double sum2 = parray.Aggregate((total, current) => …
Run Code Online (Sandbox Code Playgroud)

c# linq plinq

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

C#:枚举中的按位运算符(MVC中的自定义授权)

我目前正在阅读一篇文章,但我真的不明白这是如何与逻辑运算符一起工作的.任何人都可以向我解释这个吗?

例如.如果我想与客户,员工,主管和管理员有4级证券.

[Serializable]
[Flags]
public enum WebRoles
{             
    customer= 1 << 0,
    employee= 1 << 1,
    supervisor = 1 << 2,
    Admin = 2 << 3
}
Run Code Online (Sandbox Code Playgroud)

然后我应该如何实现以下逻辑.

if (Roles != 0 && ((Roles & role) != role))
            return false;
Run Code Online (Sandbox Code Playgroud)

有人能为我提供一些这方面的知识吗?

非常感谢你.

道明

c# asp.net-mvc operators

6
推荐指数
2
解决办法
4146
查看次数

索引SQL表是否会提高LINQ语句的性能?

道歉可能是一个很愚蠢的问题.

我很感兴趣的是(a)索引会改进性能(b)它将如何提高性能;(c)为什么它会提高性能?

此外,如果这确实提高了性能,那么LINQ to SQL,LINQ to Entities,LINQ to Objects等等是否会出现这种情况.

再说一次,如果这是一个非常愚蠢的问题,我会道歉.

c# sql linq indexing linq-to-sql

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

Visual Studio 2008不会编辑只读文件

所以,直到今天,当我尝试在VS2008中编辑只读文件时,弹出一个对话框,给出了三个选项:

  • 在内存中编辑
  • 写得可写
  • 保存副本

还有一个复选框,上面写着"绝不允许在内存中编辑".

突然间,它已经停止提供这些选项,如果文件是只读的,它就不会接受编辑器窗口中的任何输入.我必须进入Windows资源管理器并将文件标记为不可读,然后在我进行任何更改之前在VS中重新打开它.我正在开发一个包含大量源代码控制文件的大型项目,并且经常需要对文件进行本地更改,因此这是一个真正的PITA.

我猜我必须在错误的情况下检查永不允许的内存编辑复选框.

工具中有一个选项..选项..环境..文件读取:

"允许编辑只读文件,在尝试保存时发出警告"

勾选此复选框,并将当前值更改为无效.我试过关闭和打开工作室,重新启​​动我的机器等 - 一切都无济于事.

有谁知道如何恢复以前的行为?

.net ide visual-studio-2008 visual-studio

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

突出显示对X的所有引用?

Eclipse IDE有一个简洁的小功能,我在Visual Studio中真的很想念.

如果我将光标放在变量或方法名称上,IDE将自动突出显示相关范围内当前文档中对它的所有引用.

我似乎无法在VS2008或Resharper 4中找到打开类似行为的选项.我知道VS有一个Find Usages功能,但我想在运行中自动执行.

有没有人知道一个免费的插件会添加这个功能?

ide visual-studio-2008 visual-studio

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

Linq2SQL处理具有唯一约束的表上的插入/删除

我有一个如下所示的表:

TABLE Foo
{
  Guid Id [PK],
  int A [FK],
  int B [FK],
  int C [FK],
}
Run Code Online (Sandbox Code Playgroud)

对A,B和C的唯一约束.

现在说,例如,你插入一个新的PK行,其中A = 1,B = 1,C = 1.

SubmitChanges(),都开心.

现在编辑表格.

您删除上一个条目,并插入一个具有F = 1,B = 1,C = 1的fresk PK的行.

SubmitChanges()繁荣!唯一键约束SQL异常.

从我所看到的,它尝试首先插入新记录,然后尝试删除前一个记录.我甚至可以理解,无法确定需要发生的顺序.

但是我能做些什么呢?将这三个领域作为复合PK(并删除旧的)将是一个更好的解决方案或甚至不工作?

目前,"解决方案"是从数据库中删除唯一约束(但我宁愿不这样做).

.net c# linq linq-to-sql

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

WPF:分配给 RichTextBox.Document 非常慢(7 分钟!)

我正在构建一个FlowDocument从 XML格式化的文件。XML 格式良好,主要由 10,000 个节点组成,每个节点都有一个具有 6 个字符串值的节点。

将 XML 解析为 anXElementFlowDocument在内存中构建大约需要 5 秒。在我的应用程序FlowDocument中将分配给 a 的Document属性RichTextBox大约需要 7 分钟,并在这段时间内最大限度地使用 CPU。

这是相关的一段代码:

// The following six lines of code execute in about 5 seconds

var xml = XElement.Parse(response.Data);

PrettyXmlConverter px = new PrettyXmlConverter();
FlowDocument fd = px.Render(xml);

Paragraph p = new Paragraph();
p.Inlines.Add(new Run(response.TimeStamp.ToShortDateString() + " " + response.TimeStamp.ToLongTimeString()));
fd.Blocks.InsertBefore(fd.Blocks.ElementAt(0), p);

// This line of code takes about 7 minutes and …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf richtextbox .net-3.5

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

如何使用单个查询将数据集中的多个记录插入SQL Server 2005?

我在ADO.NET中有一个包含来自用户端的多条记录的数据集.我需要在单个查询中将所有这些行插入到数据库中,以避免多次查询

c# sql-server ado.net

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

给出C#中的周数和年份,计算一周的开始和结束日期(基于ISO规范)

我需要生成一份报告,显示一年中的52周(或某些年份为53周)及其开始和结束日期.有一个ISO规范要做到这一点,但看起来非常复杂!我希望有人知道在C#或Visual Basic中实现它的方法(它实际上用于Visual Basic 6,但我会尝试将其移植到其中)

c# vb.net vb6 datetime calendar

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

选择哪种设计模式

我需要一个正确方向的指针.我一直在环顾四周,似乎找不到任何能指向正确方向的设计模式(GoF).

我正在开发一个小型数字标牌应用原型,其中有一个简单的服务器和连接到该服务器的大量播放器应用程序(显示图像/视频).我的要求是能够将100个播放器连接到单个服务器,并为每个服务器分配50Mb数据.

我打算在服务器和收集播放器的玩家(每个大约25个?)之间建立小型集线器(软件集线器),并让集线器获取并分发50Mb数据(分而治之,对吧?).50Mb只适用于原型,我认为在现实生活中,每个显示视频的播放量大约为300Mb.这些集线器的原因是我会避免让100个玩家同时请求50Mb,而只有4个(每个玩家25个玩家)集线器将请求并重新分配.

使用集线器时,我需要能够在集线器之间移动播放器,即从一个集线器中移除播放器并将其连接到另一个集线器.(我的一个想法是连接到同一个集线器的所有播放器必须共享内容,因此集线器将避免必须下载25个不同的电影)

请问,有谁知道这在现实生活中是如何完成的?你能否评论我的概念和/或指出我正确的方向,以帮助我解决这个问题.

architecture streaming design-patterns video-streaming

4
推荐指数
2
解决办法
452
查看次数