小编Ste*_*art的帖子

使用System.Windows.Forms.Timer.Start()/ Stop()与Enabled = true/false

假设我们在.Net应用程序中使用System.Windows.Forms.Timer,在计时器上使用Start()和Stop()方法与使用Enabled属性之间是否有任何有意义的区别?

例如,如果我们希望在进行某些处理时暂停计时器,我们可以这样做:

myTimer.Stop();
// Do something interesting here.
myTimer.Start();
Run Code Online (Sandbox Code Playgroud)

或者,我们可以这样做:

myTimer.Enabled = false;
// Do something interesting here.
myTimer.Enabled = true;
Run Code Online (Sandbox Code Playgroud)

如果没有显着差异,社区是否就选择哪个选项达成共识?

.net c# timer

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

为什么不System.Void?

可能重复:
什么是System.Void?

我没有实际理由知道这个答案,但无论如何我很好奇......

在C#中,尝试使用System.Void会产生编译错误:

错误CS0673:无法从C#中使用System.Void - 使用typeof(void)获取void类型对象

据我void所知,它只是一个别名System.Void.所以,我不明白为什么'System.Void'不能直接使用,例如'System.String'的'string'.我很乐意为此阅读解释!

顺便说一句,System.Void可以成功地与Mono编译器一起使用,而不是微软的,并且它看起来相当于使用void关键字.因此,这必须是编译器强制执行的限制而不是CLR限制,对吧?

.net c#

20
推荐指数
2
解决办法
3688
查看次数

以编程方式确定Mono运行时版本

以编程方式确定Mono运行时版本的推荐方法是什么?

当我们的.Net应用程序与旧版本的Mono一起使用时,我们遇到了各种问题.有时我们可以解决这些问题,如果我们知道我们正在处理哪个版本,但有时我们不能.

我们的解决方案是以编程方式检测Mono版本,然后我们可以透明地应用变通方法.如果Mono版本太旧,那么我们会提示用户升级.

我们可以发现Mono是我们的运行时,有这样的东西:

bool isMonoRuntime = Type.GetType("Mono.Runtime") != null;
Run Code Online (Sandbox Code Playgroud)

我们怎样才能可靠地确定单声道版本而不间接推断它?需要说明的是,我们需要Mono版本号,而不是.Net CLR版本号.

.net c# mono

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

SQLite IF存在条款

如何在SQLite中编写IF EXISTS,如下面的查询所示?我在某处读到SQLite中不存在IF子句.什么是更好的选择呢?

if exists (select username from tbl_stats_assigned where username = 'abc' )
    select 1 as uname
else
    select 0 as uname
Run Code Online (Sandbox Code Playgroud)

sql sqlite

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

MoMa原因"一旦4.0 impl细节已知,就能正确实施"

我们有几个商业化的.Net 2.0应用程序在Linux上使用Mono运行得很好.为了保持产品线的一致性,我们最近将所有项目移植到.Net 4.0.这引入了Mono下的一些问题,但没有什么是不可克服的,我敢肯定.

通过MoMa运行我们的程序集时,由于移植到.Net 4.0,我们看到大量的"MonoTodo"问题,我不知道如何解释.这些东西我可以放心地忽略吗?

例如,我们的MoMa扫描报告给出:

    Calling Method      Method with [MonoTodo]          Reason
    bool MyMethod ()    bool Type.op_Equality (Type, Type)  Implement it properly once 4.0 impl details are known.
Run Code Online (Sandbox Code Playgroud)

这个理由究竟意味着什么?据推测,Equality运算符确实运行良好.

.net mono moma

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

Jint + XNA(C#)

是否可以使用jint来操作使用XNA(C#)创建的3D环境,并为此环境添加功能(再次使用jint)?

c# xna jint

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

OCaml的Sqlite绑定

我一直在寻找OCaml的SQLite绑定.我偶然发现了ocaml-sqlite3,它看起来很好而且最新,但没有任何关于如何使用它的文档.

2004年已经停止使用过时的ocaml-sqlite绑定的一些非常旧的文档(仅限API参考).但它看起来并不是最新的,可能已经与我找到的更新版本完全不同(在上面的链接中列出) ).

我只是想知道是否有人提供了一些文档,示例或线索,了解这些库的工作原理.我可以通过代码,但我想保留该选项作为最后一个资源.

sqlite ocaml

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

可打印形式的C#类文档

我们的C#源代码使用通常的Sandcastle/XML表示法进行全面记录.我们使用SHFB将其编译成MSDN风格的文档网站.

我们现在需要*1 将文档编译成可打印的形式.理想情况下,我们想要PDF文档,但具体格式不如其可印刷性重要.重要但非关键的是,文档看起来相对专业,可以使用公司徽标等标记.

有没有一种无痛苦的方法来做到这一点? 我不认为单独打印文档网站的每一页都是一个实用的选择.原则上,中间XML文档文件可以转换为可用的格式,但是对于这项任务,可能已经有了可行且可维护的解决方案吗?



*1 - 由于我不完全理解的原因.

c# documentation sandcastle

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

解释Jint如何工作

我想了解Jint是一个用C#编写的JavaScript Intrepreter是如何工作的.特别:

  1. 它如何利用Antlr?
  2. 哪些部分,如果有的话,或者这个项目是新颖的,哪些部分代表现有JS Intrepreter到C#.NET的端口?
  3. 一般来说,如何在C#中编写Javascript Intrepreter?例如,在技术和代码方面已有什么,你需要自己编写什么?
  4. 编写JS解释器最具挑战性的部分是什么?

javascript c# interpreter antlr jint

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

如何使用CSharp SQLite加速SQL查询?

背景:
我有一个SQLite3数据库,我使用CSharp SQLite来查询数据.我的问题是任何使用JOIN或ORDER BY调用的查询都非常慢(0.1秒使用CSharp-SQLitevs使用orig的0.003秒SQLite).

CSharp SQLite 的最新基准测试表明它最多慢了2倍,这很好,但我的时间要慢30倍.

现在,我已将数据库中的所有必要字段编入索引,并具有相应的主键和外键.另外,原始SQLite运行这些查询很好.

问题:
我必须使用SQLite的托管代码端口,所以我在这里缺少一些东西或者我需要进行的调用CSharp SQLite吗?某处有替代SQLite库端口吗?

c# sqlite performance

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

标签 统计

c# ×7

.net ×4

sqlite ×3

jint ×2

mono ×2

antlr ×1

documentation ×1

interpreter ×1

javascript ×1

moma ×1

ocaml ×1

performance ×1

sandcastle ×1

sql ×1

timer ×1

xna ×1