这是代码:
using (var context = new AventureWorksDataContext())
{
IEnumerable<Customer> _customerQuery = from c in context.Customers
where c.FirstName.StartsWith("A")
select c;
var watch = new Stopwatch();
watch.Start();
var result = Parallel.ForEach(_customerQuery, c => Console.WriteLine(c.FirstName));
watch.Stop();
Debug.WriteLine(watch.ElapsedMilliseconds);
watch = new Stopwatch();
watch.Start();
foreach (var customer in _customerQuery)
{
Console.WriteLine(customer.FirstName);
}
watch.Stop();
Debug.WriteLine(watch.ElapsedMilliseconds);
}
Run Code Online (Sandbox Code Playgroud)
问题是,Parallel.ForEach
与常规相比需要大约400ms ,大约foreach
需要40ms.我究竟做错了什么,为什么这不能像我期望的那样工作?
我如何使用MVVM Light让两个视图模型相互通信.我知道如何使用messenger类和注册等.这是我的场景
A Settings View ---> a Settings View Model
.
.
.
A MainPage View ---> A MainPage ViewModel
Run Code Online (Sandbox Code Playgroud)
如果设置视图中的某些内容发生变化,它将回复到"设置视图模型".那么我希望设置视图模型与MainPage视图模型进行通信,了解更改的内容.然后,MainPage ViewModel将告诉View.
所以我读了MSDN和Stack Overflow.我理解Action Delegate一般会做什么,但不管我做了多少个例子都不点击.一般来说,代表的想法也是如此.所以这是我的问题.当你有这样的功能:
public GetCustomers(Action<IEnumerable<Customer>,Exception> callBack)
{
}
Run Code Online (Sandbox Code Playgroud)
这是什么,我应该传递给它什么?
我正在学习XNA以及http://creators.xna.com/en-US/上发现的几乎所有教育工具包.我总是在向量上看到对Normalize()的调用.我理解,normalize基本上将向量转换为单位长度,所以它给出的只是方向.
现在我的问题是何时进行标准化以及它对我有什么帮助.我正在进行2D编程,因此请在2D概念而不是3D中进行解释.
编辑:这是XNA工具包中的代码,为什么要调用Normalize?
if (currentKeyboardState.IsKeyDown(Keys.Left) ||
currentGamePadState.DPad.Left == ButtonState.Pressed)
{
catMovement.X -= 1.0f;
}
if (currentKeyboardState.IsKeyDown(Keys.Right) ||
currentGamePadState.DPad.Right == ButtonState.Pressed)
{
catMovement.X += 1.0f;
}
if (currentKeyboardState.IsKeyDown(Keys.Up) ||
currentGamePadState.DPad.Up == ButtonState.Pressed)
{
catMovement.Y -= 1.0f;
}
if (currentKeyboardState.IsKeyDown(Keys.Down) ||
currentGamePadState.DPad.Down == ButtonState.Pressed)
{
catMovement.Y += 1.0f;
}
float smoothStop = 1;
if (catMovement != Vector2.Zero)
{
catMovement.Normalize();
}
catPosition += catMovement * 10* smoothStop;
Run Code Online (Sandbox Code Playgroud)
}
我一直试图找到如何计算浮动/双精度/范围数-3.402823e38 .. 3.402823e38和-1.79769313486232e308 .. 1.79769313486232e308.
对于int32,你会做2 ^ 32 = 4294967296/2你得到-2147483648到2147483647的范围.那么我如何计算浮点数和双精度数的精度数.我想我正在寻找错误的条款,因为任何地方都没有.
所以我已经搜索了stackoverflow,似乎没有任何答案.如果可以的话,实际完全学习silverlight的最佳方法是什么?我有书,但是当你到达第30章的第30章时,你已经忘了你学到了什么,必须重新开始.试图直接进入似乎更令人沮丧,因为你不知道你可以使用的工具是什么或如何构建东西.
我已经看到关于递归函数的其他问题,我已经阅读了回复,但我仍然无法让算法点击我的脑袋
var hanoi = function (disc, src, aux, dst) {
if (disc > 0) {
hanoi(disc - 1, src, dst, aux);
document.write('Move disc ' + disc + ' from ' + src + ' to ' + dst);
hanoi(disc - 1, aux, src, dst);
}
}
hanoi(3, 'Src', 'Aux', 'Dst');
Run Code Online (Sandbox Code Playgroud)
document.write(...)是如何运行的.我的逻辑是我们第一次运行功能光盘> 3.然后我们递归调用该函数再次跳过下面的所有内容,那么document.write如何有机会运行?
我理解递归(完成了基本的例子),但我仍然看不出你是如何获得输出的.如果有一种方法,我可以直观地运行它并看到它在行动,这将有所帮助.
我正在构建一个案例管理应用程序,其中一个要求是每个客户端使用自己的URL获取自己的数据库.但是,升级时维护应用程序的多个实例已成为一场噩梦.我正在使用IIS 7 ASP.NET MVC.我想有一个应用程序,让应用程序知道根据用户身份验证从哪个数据库获取数据.有可行的替代方案吗?
我一直在阅读"云计算",但仍然没有得到它.基本上我想为WP7开发http://msdn.microsoft.com/en-us/library/ff402531%28v=VS.92%29.aspx#AppPlat_Overview_Arch
现在它提到一切都在"云"中.任何服务器都只是云吗?如果我的服务器上有WCF服务或wsdl.我可以认为自己是"云"吗?或者是否有服务器发出的东西检查它是否是云?
我有一个看起来像的模型
public class Patient
{
private ICollection<Refill> _refills = new List<Refill>();
public int Id { get; set; }
public string FirstName { get; set; }
public virtual ICollection<Refill> Refills
{
get { return _refills; }
set { _refills = value; }
}
public class Refill
{
public int Id { get; set; }
public RefillActivityStatus RefillActivityStatus { get; set; }
public DateTime? RefillDate { get; set; }
public RefillType RefillType { get; set; }
public string RXNumber { get; set; …
Run Code Online (Sandbox Code Playgroud) c# ×5
silverlight ×3
.net ×2
asp.net-mvc ×2
action ×1
algorithm ×1
azure ×1
delegates ×1
javascript ×1
multi-tenant ×1
mvvm ×1
recursion ×1
sql ×1
web-services ×1
wpf ×1
xna ×1