草庐IT

compare_exchange_weak

全部标签

c# - Interlocked.Exchange 和 Volatile.Write 之间的区别?

Interlocked.Exchange和Volatile.Write有什么区别?这两种方法都会更新一些变量的值。有人可以总结一下何时使用它们吗?Interlocked.ExchangeVolatile.Write特别是我需要更新数组的double项,我希望另一个线程看到最新的值。什么是首选?Interlocked.Exchange(refarr[3],myValue)或Volatile.Write(refarr[3],info);其中arr是声明为double?真实的例子,我这​​样声明double数组:privatedouble[]_cachedProduct;在一个线程中,我这样

c# - 带有自定义 Comparer<T> 的 OrderBy 的 Linq 语法

具有自定义排序比较器的任何给定Linq表达式都有两种格式:格式一varquery=source.Select(x=>new{x.someProperty,x.otherProperty}).OrderBy(x=>x,newmyComparer());格式2varquery=fromxinsourceorderbyx//comparerexpressiongoeshere?selectnew{x.someProperty,x.otherProperty};问题:第二种格式的order-by表达式的语法是什么?不是问题:如何使用第一种格式中所示的自定义比较器。奖金积分:上面列出的两种Lin

c# - Exchange Web 服务 2010 入门

我的任务是在.Net中编写一个SOAPweb服务,作为EWS2010和以前使用WebDAV连接到Exchange的应用程序服务器之间的中间件。(据我所知,WebDAV将随EWS2010一起消失,因此应用程序服务器将不再能够像以前那样连接,并且在没有WebDAV的情况下连接到EWS的难度呈指数级增长。理论上是在.Net中进行的应该比其他任何事情都容易......对吧?!)我的最终目标是能够获取和创建/更新指定Exchange帐户的电子邮件、日历项目、联系人和待办事项列表项目。(目前不需要删除,但如果足够容易,我可能会构建它以备将来考虑)。最初给了我一些示例代码,它们确实有效,但我很快意识

c# - Comparer<T> 类有什么用?

Comparer的用途是什么?如果您指定的类型已经实现IComparable,则服务类?如果我指定Comparer.Default,并且Customer已经实现了IComparable,那么我为什么要使用Comparer类? 最佳答案 因为您有时需要保持集合/有序队列按其他顺序排序,然后是“自然”顺序或多个然后存在一个自然顺序。例如,如果您有平面线,您可能希望按以下方式对其进行排序:航类号目的地时间优先级(某些航类比其他航类延误时间更长)...可以通过以下方式安排计算机中的任务:用户优先级(在调度程序中)PID(正常比较)...因此

c# - 使用 Exchange Web 服务 API 提取 Exchange 2007 公共(public)日历约会

我们在Exchange2007公共(public)文件夹中设置了我们公司的公共(public)日历。我可以使用下面的代码检索当天的个人日历约会。我在网上到处搜索,但找不到有人从公用文件夹日历中检索日历信息的例子。看起来它应该是可行的,但我终其一生都无法让它发挥作用。如何修改下面的代码以访问日历?我对通过asp.net创建任何约会不感兴趣,只是检索一个简单的列表。我也愿意接受任何其他建议。谢谢。增加赏金-我不可能是唯一需要这样做的人。让我们为子孙后代解决这个问题。由于无知再次更新-我没有提到我正在从事的项目是.NET2.0(您认为这非常重要吗?)。*在下面添加了我的代码解决方案*-我已经

c# - Exchange Web 服务 API 和 401 未授权异常

当我尝试使用EWSAPI发送电子邮件时,出现以下错误:(inmessage.Send();)Therequestfailed.Theremoteserverreturnedanerror:(401)Unauthorized.我的代码如下:ExchangeServiceexchangeService=newExchangeService(ExchangeVersion.Exchange2007_SP1);//WebServiceUritry{exchangeService.Url=newUri("https://exchangeserver/ews/exchange.asmx");}ca

c# - 通过 Exchange Online (Office 365) 使用 System.Net.Mail 发送 SMTP 电子邮件

我们正在测试新的Office365测试版,我在ExchangeOnline服务上有一个邮件帐户。现在我正在尝试连接一个可以从我的测试帐户发送smtp电子邮件的LOB应用程序。但是Exchange365平台需要在端口587上进行TLS加密,System.Net.Mail的“功能”不允许隐式SSL加密。有没有人设法让C#通过这个平台发送邮件?我有以下应该发送邮件的基本代码-任何建议将不胜感激。SmtpClientserver=newSmtpClient("ServerAddress");server.Port=587;server.EnableSsl=true;server.Credent

c# - 为什么 Interlocked.Exchange 不支持 Boolean 类型?

.NET团队决定不在Interlocked.Exchange操作中支持bool值有什么实际原因吗?其中一个用法示例是当您想要保证某些代码只执行一次并且您想要为此使用bool标志时。 最佳答案 是的,这是有充分理由的。Interlocked方法的实现需要处理器级别的低级别支持。参见thisanswer例如。当您定义与架构无关的框架时,这是一个问题。在数据类型上实现由Interlocked类支持的低锁技术是很困难的,这些数据类型是native处理器字大小的一小部分。10多年前流行的RISCcpu设计方法强烈反对它。操作数大小和nativ

c# - "Possible compare of value type with ' null'”怎么办?

在为自定义NUnit约束编写此方法时。privatevoidAddMatchFailure(stringfailureName,TExpectedexpected,TActualactual){_matchFailures.Add(String.Format(MatchFailureFormat,failureName,(expected==null)?"null":expected.ToString(),(actual==null)?"null":actual.ToString()));}Resharper警告expected和actual可能是ValueType对象。e.g.TEx

c# - DateTime.Compare 如何检查日期是否小于 30 天?

我正在尝试计算帐户是否会在30天内过期。我是否正确使用DateTimeCompare?if(DateTime.Compare(expiryDate,now) 最佳答案 AmIusingDateTimeComparecorrectly?没有。Compare仅提供有关两个日期的相对位置的信息:小于、等于或大于。你想要的是这样的:if((expiryDate-DateTime.Now).TotalDays这会减去两个DateTime。结果是TimeSpan具有TotalDays属性的对象。另外,条件可以直接写成:boolmatchFoun