从点到此曲线的最短距离

我需要找到多个点到forms曲线的距离: f(x) = a^(k^(bx)) 我的第一个选择是使用它的导数,使用带有导数倒数的forms的线,给出Point坐标并将其与原始曲线相交。 最后,我们用简单几何计算点之间的距离。 那是我经常遵循的数学过程。 我需要节省时间(因为我正在做遗传算法程序)所以我需要一种有效的方法来做到这一点。 想法?

初始化DateTime时的exception

我在控制器操作的参数中初始化DateTime变量,如下所示 public ActionResult ForFahrzeug(DateTime initDat = default(DateTime), long id = 0, long days = 0, string ExpGnr = “”) { //body } 编译时没有错误,但在运行时发生exception。 Server Error in ‘/’ Application. Encountered an invalid type for a default value. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for […]

地址替代C#中的替代

任何人都可以帮我解决C#中有关VB6中AddressOf运算符的替代解决方案吗? AddressOf返回一个long值。 我可以用什么方法获得C#中的输出?

XPath小写()函数

我正在使用XPATH从XML文档中选择某些节点。 用户可以插入该位置的值。 它工作正常,但如果使用不同的情况则不起作用。 我已经决定在比较之前将XML值和用户输入更改为小写可能是最好的方法。 我现在有这个作为我的选择器: NodeIter = nav.Select(“/Houses/House/location[contains(../location, ‘” + location_input + “‘)]”); 我已经尝试将lower-case()函数放在不同的位置,但它并不满意。 如何使../location的值作为小写进行比较? 注意:在我的c#代码中使用ToLower()将location_input设置为较低。

我可以在ASP.Net Web API控制器中使用多个Get方法

我想为Ex实现多个Get方法: 获取(int id,User userObj)和Get(int storeId,User userObj) 是否可以像这样实现,我不想更改操作方法名称,因为在这种情况下我需要在URL中键入操作名称。 我正在考虑通过这个样本格式’ // localhost:2342 / ‘来执行操作方法,该格式不包含操作方法名称。

如何使用类型名称作为字符串转换为类型?

好吧,我现在整天都在喋喋不休地谈论这个想法,而且我已经达到了我承认我只是不知道的部分。 我正在做的事情可能只是愚蠢而且有更好的方法,但这是我思考带给我的地方。 我试图使用通用方法在WinForms中加载表单: protected void LoadForm(ref T formToShow, bool autoLoaded) where T : FormWithWorker, new() { // Do some stuff } 表单由ToolStripMenuItem加载(通过选择项目或使用“打开Windows”菜单项)。 它们是延迟加载的,因此MDI父级中的表单有字段,但在需要它们之前它们为空。 我有一个用于处理所有菜单项单击的ToolStripMenuItem_Click的常用方法。 除了ToolStripMenuItem的名称与为其对应的表单类名称选择的模式匹配之外,该方法没有真正的方法来知道调用哪个表单。 因此,使用ToolStripMenuItem的名称,我可以为所请求的表单类型的名称和分配用于存储该表单的引用的私有字段的名称。 使用它,我可以使用具有硬编码类型的增长/收缩switch语句和字符串匹配来调用具有特定类型集(不需要的)的方法,或者我可以使用Reflection来获取字段并创建该类型的实例。 我遇到的问题是, System.Activator.CreateInstance提供了一个无法转换为我需要的类型的ObjectHandler。 这是我到目前为止的一小部分: string formName = “_form” + ((ToolStripMenuItem)sender).Name.Replace(“ToolStripMenuItem”, “”); string formType = formName.Substring(1); FieldInfo fi = this.GetType().GetField(formName, BindingFlags.NonPublic | BindingFlags.Instance); FormWithWorker formToLoad = (FormWithWorker)fi.GetValue(this); if (formToLoad == […]

正则表达式在Windows Server 2008上变慢

我的情况是我的正则表达式在Windows Server 2008上编译得非常慢。我写了一个小型控制台应用程序来突出显示这个问题。 该应用程序生成自己的输入,并从XML文件中的单词构建一个正则表达式。 我构建了这个应用程序的发布版本,并在我的个人笔记本电脑(运行XP)和Windows 2008服务器上运行它。 正则表达式在我的笔记本电脑上编译需要0.21秒,但在服务器上编译需要23秒。 可能导致这种情况的任何想法? 问题只出现在首次使用正则表达式时(首次编译时 – 此后它很好) 我还发现了另一个问题 – 当在同一个Windows 2008服务器上的正则表达式中使用\s+时,内存气球(使用4GB +)并且Regex的编译永远不会完成。 Regex和64位.net是否存在已知问题? 是否有针对此的修复/补丁? 我无法在网上找到任何信息,但我在Framework 2.0中找到了一些关于同样问题的文章 – 这肯定已经解决了吗? 更多信息:服务器运行64位版本的.net框架(3.5 SP1),在我的笔记本电脑上安装了Visual Studio 2008和3.5框架。 正则表达式具有以下模式: ^word$|^word$|^word$和使用以下标志构造: RegexOptions.IgnoreCase | RegexOptions.Compiled RegexOptions.IgnoreCase | RegexOptions.Compiled 这是一段代码: StringBuilder regexString = new StringBuilder(); if (!String.IsNullOrEmpty(fileLocation)) { XmlTextReader textReader = new XmlTextReader(fileLocation); textReader.Read(); while (textReader.Read()) { textReader.MoveToElement(); if (textReader.Name […]

如何删除ListBox中的多个选定项?

我的Windows窗体包含两个列表框。 Listbox1中包含一些项目,listbox2为空。 当我按下窗体上的按钮时,应从Listbox1中删除listbox1中的多个选定项并将其复制到Listbox2。 我尝试使用listbox1.SelectedItems上的foreach循环但它只从列表中删除了1个项目。 任何人都有解决方案或代码吗?

重新附加实体图并检测集合更改

我首先使用实体​​框架代码并通过WCF REST HTTP接口公开northwind数据库。 我没有公开OrderDetails表(订单商品),因为创建订单然后通过另一个服务分别添加每个必需的OrderDetail是没有意义的。 在我看来,它需要是一个成功或失败的primefaces事务。 因此,我在传递给客户端时包含Order.OrderDetails集合,并假设在创建或更新订单时我将获得一个。 然而,问题似乎是在重新附加Order实体以进行更新时检测OrderDetails集合的更改。 订单本身可以设置为已修改以更新这些属性,但这不会级联到OrderDetail项目。 所以我可以手动完成并设置更新的修改后的问题,但问题在于弄清楚哪些是最初更新的。 将新的OrderDetail设置为modified会在尝试保存时导致错误。 我读了一条建议,将新集合项的Id设置为0,并在服务器中使用它来决定它是新的还是现有的。 然而,Northwind在OrderDetails的OrderID和ProductID之间使用复合键。 这些都必须由客户端设置,所以我找不到一种方法来检测新的。 此外,分离图中不存在已删除的OrderDetail,我需要弄清楚已删除的内容并明确删除它。 任何建议将不胜感激。 public override Order Update(Order entity) { dbset.Attach(entity); DataContext.Entry(entity).State = EntityState.Modified; foreach (var orderDetail in entity.OrderDetails) { DataContext.Entry(orderDetail).State = EntityState.Modified; } return entity; }

在C#中读取文件编译时

我正在编写一些unit testing,其中我需要一个假的xml文件。 我可以创建该文件,并要求它与unit testing一起部署,但经验表明,在我的办公室,这是一个很头疼的问题。 所以我决定该文件将由UT创建。 StreamWriter sw = new StreamWriter(testFileName); sw.Write(contents); sw.Close(); 现在的问题是内容字符串。 它实际上是一个很长的xml,如下所示: string contents = @” ~100 lines here “; 我不希望它与其余代码位于同一个文件中。 我希望从文件生成编译时的字符串。 在C ++中,我会这样做 string contents = ” #include “test.xml” “; 在C#中有可能以某种方式吗?