问题列表 - 第11316页

如何在不创建安装程序的情况下安装C#Windows服务?

有没有人知道是否有办法安装在C#中创建的Windows服务而无需安装程序?

c# windows-services

11
推荐指数
3
解决办法
8397
查看次数

什么是"DateTime?" 而不只是C#中的DateTime?

C#中a DateTime?和a DateTime(没有问号)有什么区别?

c# datetime nullable

4
推荐指数
2
解决办法
1839
查看次数

可以使用VB.NET中的XML Literals进行递归吗?

我有一个名为Profile的类,它有一些简单的属性,然后它可以有一个ProfileItem的集合,它再次具有一些简单的属性,然后它可以有一个ProfileItem(RECURSION)的集合.

现在我尝试使用VB.NET(3.5)附带的XML Literals生成一个非常简单的保存函数.

我使用的代码如下:

  Dim xdoc As XDocument = _
            <?xml version="1.0" encoding="utf-8"?>
            <profiles>
                <%= _
                    From p In _Profiles _
                    Select <profile name=<%= p.Name %>>
                               <%= _
                                   From i In p.GetProfileItems _
                                   Select <item>
                                              <name><%= i.Name %></name>
                                              <action><%= i.Action.ToString %></action>
                                              <type><%= i.Type.ToString %></type>
                                              <arguments><%= i.Arguments %></arguments>
                                              <dependencies>
                                                  <%= _
                                                      From d In i.GetDependencies _
                                                      Select <dependency>
                                                                 <name><%= d.Name %></name>
                                                             </dependency> _
                                                  %>
                                              </dependencies>
                                          </item> _
                               %>
                           </profile> _
                %>
            </profiles>
Run Code Online (Sandbox Code Playgroud)

与标记相关的部分应该变为递归,但我不知道它是否以某种方式支持此语法.

我是否应该重写所有避免使用XML Literal来实现递归?

vb.net recursion xml-literals .net-3.5

7
推荐指数
1
解决办法
1481
查看次数

ASP.Net MVC自定义模型绑定说明

有谁知道我在哪里可以找到构建自定义模型绑定器的教程.

我发现使用默认模型绑定器和EntitySets的几个问题(在创建新对象时没有填充并在编辑对象上创建重复项)并且发现我的UI与我的模型完全不匹配(例如时间字段格式化为"hh:mm am"与时间跨度不匹配).因此,我想看看创建自定义模型绑定器是否是更好的解决方案.我找到了几个例子:这里这里.第一个是我认为已经过时了,第二个并没有真正解释发生了什么.

我的主要问题是我不完全理解BindModel方法的ControllerContext和ModelBindingContext究竟是什么,即它们与控制器和模型的关系.

如果有人指点我的教程或者看看dave hayden的帖子并告诉我它如何看待当前MVC的实现,我将不胜感激.

asp.net-mvc

34
推荐指数
1
解决办法
4万
查看次数

22
推荐指数
2
解决办法
2万
查看次数

用于在C#中解析Wikicode的正则表达式

我尝试解析维基百科的文章.我使用*page-articles.xml文件,他们以wikicode格式备份所有文章.为了去除格式并获取原始文本,我尝试使用正则表达式,但我不是很习惯它.我使用C#作为编程语言.我尝试使用正则表达式的设计师Expresso,但我的智慧结束了.这是我想要实现的目标:

该文本可以包含以下结构:[[TextN]]或[[Text1 | TextN]]或[[Text1 | Text2 | ... | TextN]]

[[....]]模式可以出现在Texti中.我想用TextN替换这些结构

为了在文本中识别结构,我尝试了以下RegEx:

\[\[ ( .* \|?)* \]\]
Run Code Online (Sandbox Code Playgroud)

Expresso似乎与这个一起运行并且无限循环.在相对较小的文本5分钟后,我取消了测试运行.

然后我尝试了更简单的东西,我想在括号之间捕捉任何东西:

\[\[ .* \]\]
Run Code Online (Sandbox Code Playgroud)

但是当我有一条线:

[[Word1]] text inbetween [[Word2]]
Run Code Online (Sandbox Code Playgroud)

表达式返回整行,而不是

[[字1]

[[字2]]

Regex-Experts的任何提示都可以解决这个问题吗?

先谢谢你,弗兰克

c# regex

1
推荐指数
1
解决办法
775
查看次数

快速查找一组范围内一个数字范围的快速算法?

情景

我有几个数字范围.这些范围不重叠 - 因为它们不重叠,逻辑结果是任何时候任何数字都不能成为多个范围的一部分.每个范围都是连续的(单个范围内没有孔,所以8到16的范围实际上包含8到16之间的所有数字),但两个范围之间可能存在空洞(例如范围从64开始到128,下一个范围从256开始并转到384),因此某些数字可能根本不属于任何范围(在此示例中,数字129到255不属于任何范围).

问题

我得到一个号码,需要知道该号码属于哪个范围......如果它属于任何范围.否则我需要知道它不属于任何范围.当然速度很重要; 我不能简单地检查所有范围是O(n),因为可能有数千个范围.

简单解决方案

一个简单的解决方案是将所有数字保存在已排序的数组中并对其运行二进制搜索.这至少会给我O(log n).当然二进制搜索必须稍微修改,因为它必须始终检查范围的最小和最大数量.如果要查找的数字介于两者之间,我们找到了正确的范围,否则我们必须搜索当前范围之下或之上的范围.如果最后只剩下一个范围并且数字不在该范围内,则该数字根本不在范围内,我们可以返回"未找到"结果.

范围也可以在某种树形结构中链接在一起.这基本上就像是带有二分搜索的排序列表.优点是修改树比修改数组(添加/删除范围)更快,但不像我们浪费一些额外的时间来保持树平衡,树可能会在一段时间内变得非常不平衡,这将导致比排序数组上的二进制搜索慢得多.

人们可以争论哪种解决方案更好或更差,因为实际上搜索和修改操作的数量几乎是平衡的(每秒执行的搜索和添加/删除操作数量相同).

对于这类问题,是否有比排序列表或树更好的数据结构?也许在最好的情况下可能比O(log n)更好,在最坏的情况下可能比O(log n)更好?

此处可能有用的一些其他信息如下:所有范围始终以2的幂的倍数开始和结束.它们总是以相同的2的幂开始和结束(例如,它们以4的倍数或8的倍数或16的倍数开始/结束,依此类推).在运行时,2的功率不能改变.在添加第一个范围之前,必须设置2的幂,并且所有已添加的范围必须以此值的倍数开始/结束,直到应用程序终止.我认为这可以用于优化,好像它们都以例如8的倍数开始,我可以忽略所有比较操作的前3位,其他位将告诉我范围(如果有的话).

我读到了关于树和树的范围.这些是问题的最佳解决方案吗?有没有更好的解决方案?问题听起来类似于malloc实现必须做的事情(例如,每个freed内存块属于一系列可用内存,malloc实现必须找到哪一个),那么通常如何解决这个问题呢?

algorithm search range

37
推荐指数
3
解决办法
1万
查看次数

截断包含HTML的文本,忽略标记

我想截断一些文本(从数据库或文本文件加载),但它包含HTML,因此包含标记,将返回更少的文本.这可能导致标签未被关闭或部分关闭(因此整洁可能无法正常工作且内容仍然较少).如何根据文本进行截断(当你到达表时可能会停止,因为这可能会导致更复杂的问题).

substr("Hello, my <strong>name</strong> is <em>Sam</em>. I&acute;m a web developer.",0,26)."..."
Run Code Online (Sandbox Code Playgroud)

会导致:

Hello, my <strong>name</st...
Run Code Online (Sandbox Code Playgroud)

我想要的是:

Hello, my <strong>name</strong> is <em>Sam</em>. I&acute;m...
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

虽然我的问题是如何在PHP中完成它,但是知道如何在C#中执行它会很好...或者应该没问题,因为我认为我可以将方法移植过来(除非它是内置的方法).

另请注意,我已经包含了一个HTML实体&acute;- 必须将其视为单个字符(而不是本示例中的7个字符).

strip_tags 是一个后备,但我会失去格式和链接,它仍然会有HTML实体的问题.

html php string markup

36
推荐指数
2
解决办法
3万
查看次数

使用PHP录制页面点击的最佳做法?

我想记录页面的点击次数,我想的是普通的基于文件的存储或SQLite存储.

基于文件的选项
文件仅包含每次页面访问时递增的整数,并且每个页面都具有唯一的文件名.如果我用打开一个文件一个模式,我可以写,但可能不会关闭它,以便从开每次关闭文件保存?

SQLite选项
一个包含PageName和Hits列的简单表.同样的问题是,为了节省每次打开和关闭数据库,有可能不关闭它吗?

php filesystems sqlite

5
推荐指数
2
解决办法
587
查看次数