Tag: C#的

创build一个完成的任务<T>

我正在实现一个方法Task<Result> StartSomeTask()并且恰好在调用方法之前知道结果。 如何创build已完成的任务<T> ? 这是我目前正在做的事情: private readonly Result theResult = new Result(); public override Task<Result> StartSomeTask() { var task = new Task<Result>(() => theResult); task.RunSynchronously(CurrentThreadTaskScheduler.CurrentThread); return task; } 有更好的解决scheme吗?

我怎样才能将double转换为最接近的整数值?

如何将double转换为最接近的int?

任何理由写在C#中的“私人”关键字?

据我所知, private是C#中的默认设置(这意味着如果我不写public , protected , internal等,默认情况下它是private的)。 (如果我错了,请纠正我) 那么,写这个关键字的原因是什么,或者为什么成员存在呢? 例如,当一个事件处理程序是自动生成的,它看起来像这样: private void RatTrap_MouseEnter(object sender, CheeseEventArgs e) { } 但为什么它甚至写私人,如果这是暗示和默认? 只是让新手开发人员(谁不知道这是C#默认)知道它是私人的? 或者编译器有什么不同? 此外,有没有写“私人”(单独) 会改变会员的可及性?

如何在一行上连接多个C ++string?

C#有一个语法function,您可以在一行上连接多个数据types。 string s = new String(); s += "Hello world, " + myInt + niceToSeeYouString; s += someChar1 + interestingDecimal + someChar2; C ++中的等价物是什么? 据我所知,你必须在不同的行上完成,因为它不支持+运算符的多个string/variables。 这是好的,但看起来不整齐。 string s; s += "Hello world, " + "nice to see you, " + "or not."; 上面的代码产生一个错误。

sorting数据表中的行

我们在DataTable有两列,如下所示: COL1 COL2 Abc 5 Def 8 Ghi 3 我们试图按降序排列这个基于COL2的数据表。 COL1 COL2 ghi 8 abc 4 def 3 jkl 1 我们试过这个: ft.DefaultView.Sort = "occr desc"; ft = ft.DefaultView.ToTable(true); 但是,不使用DataView ,我们想对DataTable本身进行sorting,而不是DataView 。

处理WPF用户控件

我已经创build了一个自定义的WPF用户控件,这个控件可以被第三方使用。 我的控制有一个私人成员是一次性的,我想确保其处理方法将永远被调用一旦包含的窗口/应用程序closures。 但是,UserControl不是一次性的。 我尝试实现IDisposable接口并订阅Unloaded事件,但是在主机应用程序closures时不会调用。 如果可能的话,我不想依赖于我的控制的消费者记得调用一个特定的Dispose方法。 public partial class MyWpfControl : UserControl { SomeDisposableObject x; // where does this code go? void Somewhere() { if (x != null) { x.Dispose(); x = null; } } } 我目前find的唯一解决scheme是订阅Dispatcher的ShutdownStarted事件。 这是一个合理的方法吗? this.Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted;

移动赋值运算符和`if(this!=&rhs)`

在一个类的赋值操作符中,通常需要检查被赋值的对象是否是调用对象,这样就不会搞砸了: Class& Class::operator=(const Class& rhs) { if (this != &rhs) { // do the assignment } return *this; } 移动赋值操作符需要同样的东西吗? 有没有this == &rhs将是真实的情况? ? Class::operator=(Class&& rhs) { ? }

在C#中访问Imap

有没有一个内置的方法来访问C#中的Imap服务器(SSL)或有一个很好的免费库?

访问修改的closures(2)

这是从Access到修改closures的问题的扩展。 我只是想validation以下是否足够安全的生产使用。 List<string> lists = new List<string>(); //Code to retrieve lists from DB foreach (string list in lists) { Button btn = new Button(); btn.Click += new EventHandler(delegate { MessageBox.Show(list); }); } 我每次启动时只运行一次。 现在看来工作好了。 正如Jon在某些情况下所提到的违反直觉的结果。 那么我需要在这里注意什么? 如果列表多次运行,会不会好?

源未find,但部分或全部事件日志无法search

我收到以下例外。 我已经完全控制了registry编辑中Eventlogs上的Asp.net帐户。 [SecurityException:未find源,但无法search部分或全部事件日志。 无法访问的日志:安全。] System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly, Boolean wantToCreate) +664 System.Diagnostics.EventLog.SourceExists(String source, String machineName, Boolean wantToCreate) +109 System.Diagnostics.EventLog.SourceExists(String source) +14 Microsoft.ApplicationBlocks.ExceptionManagement.DefaultPublisher.VerifyValidSource() +41 我猜这是由于服务器上的一些configuration问题?