检查字符串是否包含列表中的所有输入

我希望能够检查字符串是否包含列表中保存的所有值; 因此,如果您在答案中列出了所有“关键词”,那么它只会给您“正确答案”。 inheritance人我累了哪一半失败了;(不检查所有数组,只接受一个)。 代码我累了: foreach (String s in KeyWords) { if (textBox1.Text.Contains(s)) { correct += 1; MessageBox.Show(“Correct!”); LoadUp(); } else { incorrect += 1; MessageBox.Show(“Incorrect.”); LoadUp(); } } 基本上我想做的是: 问题:心理学的定义是什么? 关于arraylist的关键词: 研究,心理过程,行为,人类 答:心理学是研究 人类的心理过程和行为 现在,只要上述答案包含所有关键词,我的代码才能接受答案。 我希望我对此很清楚。 编辑:谢谢大家的帮助。 所有答案都已经通过投票,我感谢大家快速解答。 我投了答案,可以很容易地适应任何代码。 🙂

使用WebApi和映射模型实现OData

我正在尝试在WebApi中实现OData。 我正在使用存储库模式和EF5(在后端),这仍然与我找到的所有示例一致。 这是事情变得不稳定的地方。 我试图隐藏EF生成的类隐藏在控制器中使用AutoMapper映射的模型后面。 我看到的例子似乎都归还了回购中的任何内容 我不想在控制器中但在存储库中应用OData参数(已映射的结果)以保留延迟执行的值。 我可以将ODataCriteria传递到存储库中,但是当我尝试Appy时,我得到一个错误,因为看起来选项/结果是从表示层而不是IQueryable 键入IQueryable 。 我在另一篇文章中看到其他人没有注意到这一点,但是,它只是该post的一小部分,似乎没有帮助。 还有其他人处理过这件事吗? 我真的不想暴露EF类。 哦,我先使用DB。 提前致谢…

如何为此ASP.NET DropDownList控件添加默认的“选择”选项?

我是一名新的ASP.NET开发人员,我正在尝试学习Linq-To-Entities。 我试图将DropDownList绑定到Linq语句,以检索状态实体中的状态列表。 一切都很好。 但是,我现在正在尝试向DropDownList添加“选择”选项,但它不适用于我。 你能告诉我怎么解决这个问题吗? ASP.NET代码: 代码隐藏: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DropDownList1.Items.Add(new ListItem(“Select”, “0”, true)); bindStatusDropDownList(); } } private void bindStatusDropDownList() { Status status = new Status(); DropDownList1.DataSource = status.getData(); DropDownList1.DataValueField = “ID”; DropDownList1.DataTextField = “Description”; DropDownList1.DataBind(); } 更新: 我也尝试在DropDownList的标记集中做,但它对我来说也不起作用

在.NET等托管环境中是否可能发生内存泄漏?

在C ++中,很容易产生永久性内存泄漏 – 只需分配内存而不释放内存: new char; //permanent memory leak guaranteed 并且该内存在堆的生命周期内保持分配(通常与程序运行时持续时间相同)。 在C#程序中是否可以(在内存管理机制正常工作的情况下导致特定的未引用对象的情况相同)? 我仔细阅读了这个问题并给出了答案,它提到了一些导致内存消耗高于预期的情况或IMO相当极端的情况,比如终结器线程死锁,但是在C#程序中可能会发生永久性泄漏而且function正常内存管理?

重新启动消息队列服务后,服务不接收消息

我们有一个服务从n个消息队列接收消息。 但是,如果重新启动消息队列服务,即使消息队列服务已成功重新启动,消息检索服务也会停止接收消息。 我试图专门捕获消息检索服务中抛出的MessageQueueException并再次调用队列的BeginReceive方法。 但是,在消息队列服务重新启动的2秒钟内,我得到大约1875个exception实例,然后当我们的StartListening方法中抛出另一个MessageQueueException时,服务停止运行。 有没有一种优雅的方法从消息队列服务重新启动恢复? private void OnReceiveCompleted(object sender, ReceiveCompletedEventArgs e) { MessageQueue queue = (MessageQueue)sender; try { Message message = queue.EndReceive(e.AsyncResult); this.StartListening(queue); if (this.MessageReceived != null) this.MessageReceived(this, new MessageReceivedEventArgs(message)); } catch (MessageQueueException) { LogUtility.LogError(String.Format(CultureInfo.InvariantCulture, StringResource.LogMessage_QueueManager_MessageQueueException, queue.MachineName, queue.QueueName, queue.Path)); this.StartListening(queue); } } public void StartListening(MessageQueue queue) { queue.BeginReceive(); } 我需要处理这个导致的无限循环问题并清理一下但是你明白了。 发生MessageQueueException时,调用RecoverQueue方法。 private void RecoverQueue(MessageQueue queue) […]

如何确保将appsettings.dev.json复制到输出文件夹?

我有三个配置文件,每个环境一个: appsettings.json – >制作 appsettings.dev.json – >开发 appsettings.stg.json – > staging 如果我将ASPNETCORE_ENVIRONMENT设置为dev ,我会收到一个运行时exception,抱怨无法找到appsettings.dev.json。 我尝试添加 “copyToOutput”: [ “appsettings.dev.json” ] 到project.json中的buildOptions部分,但似乎没有任何效果。 有没有其他方法可以强制appsettings.dev.json复制到输出目录?

捕获最小化的远程桌面的屏幕截图

我有以下C#代码,我用它来捕获远程桌面(RDP)会话中的屏幕截图。 它在会话处于活动状态时工作正常,但如果我最小化会话,则会因无效的句柄exception而失败。 是否有任何方法可以使这项工作,或者当会话最小化时屏幕基本上“消失了”? string filename = @”C:\Snap.png”; Size bitmapSize = new Size( Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height ); using (Bitmap bitmap = new Bitmap(bitmapSize.Width, bitmapSize.Height, PixelFormat.Format24bppRgb)) using (Graphics graphics = Graphics.FromImage(bitmap)) { graphics.CopyFromScreen( // Exception thrown here new Point(0, 0), new Point(0, 0), bitmapSize); bitmap.Save(filename, ImageFormat.Png); }

哪些计时器依赖于系统时间?

我还没有测试过这个。 我希望有人已经知道答案,所以我不必编写测试应用程序,否则我会。 🙂 通常当我想比较时间时,我只是存储DateTime.Now并在以后比较它。 我相信当用户在两者之间的某个地方更改用户的系​​统时间时,这会产生错误的结果。 这让我想知道计时器的行为方式是否相同。 哪些.NET计时器依赖于设置的系统时间? 考虑启动一个需要在一小时内过去的计时器。 当我将系统时间设置为前进一小时时会触发吗? 我从来没有真正关心这种可能的行为,但在某些情况下这可能很重要。 哪个计时器可以安全地对付这种情况,哪些计时器绝对不是?

禁止/禁用/解决Visual Studio构建警告

我正在使用clickonce的Windows窗体应用程序。 我必须部署一些资源程序集。 这些程序集位于我的项目中的文件夹中(不作为参考)。 它们标记为BuildAction = content,CopyToOutputDir = Copy If Newer。 使用此配置,我收到警告MSB3178:程序集”被错误地指定为文件。 当我将BuildAction设置为none时,警告消失,但必须部署的程序集不会出现在ClickOnce Application Files中。 我希望在没有此警告的情况下在clickonce的发布中添加这些程序集(有很多),并且不在项目中添加这些dll作为引用。 我研究了很多,但找不到禁用警告的解决方案。 编辑: 仅当我在“项目/属性/安全性选项卡”中设置“启用Clickonce安全设置”=“True”时才会出现警告 样本项目: 单击下载示例项目 只需构建并检查警告。

IDispospos GC.SuppressFinalize(this)位置

我为我的代码使用默认的IDisposable实现模板(模式)。 片段: public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool isDisposing) { if (!this.disposed) { if (isDisposing) { //cleanup managed resources } //cleanup unmanaged resources this.disposed = true; } } 我的问题:为什么在Dispose公共方法中调用“GC.SuppressFinalize(this)”? 在处置受管资源之后,我会在受保护方法的“if(isDisposing)”部分中放置“GC.SuppressFinalize(this)”。 像这样: protected virtual void Dispose(bool isDisposing) { if (!this.disposed) { if (isDisposing) { //cleanup managed resources GC.SuppressFinalize(this); } //cleanup unmanaged […]