小编Dav*_*own的帖子

匹配版本号部分与正则表达式

我正在尝试使用C#正则表达式匹配版本号(Major.Minor.Build.Revision)的各个部分.但是,我对编写Regex很新,甚至使用Expresso也证明有点困难.现在,我有这个:

(?<Major>\d*)\.(?<Minor>\d*)\.(?<Build>\d*)\.(?<Revision>\d*)
Run Code Online (Sandbox Code Playgroud)

这有效,但要求版本号的每个部分都存在.我想做的还是匹配版本,如:

2.13
Run Code Online (Sandbox Code Playgroud)

在这种情况下,构建和修订组需要返回空值.如果我认为这一切都错了,请随意提出一个更好的方法.

c# regex version

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

同时使用GUID和自动递增整数

我一直在研究使用GUID作为数据库中的主键.到目前为止,职业选手似乎超过了缺点.但是,我看到GUID可能不是我想要的一点.

在我的应用程序中,用户应该能够基于用户友好的ID识别对象.因此,例如,如果他们想要在不输入全名的情况下获得特定产品,他们可以使用产品的ID.对于类似的东西,GUID并不容易记住.

我一直在考虑的解决方案是同时使用GUID和自动递增整数.GUID将是行的主键,而自动递增的整数将是应用程序的过滤函数使用的索引.但是,所有SQL SELECT,UPDATE,DELETE语句都将使用GUID.

我想使用GUID的主要原因是在合并两个数据库时防止冲突.如果Database#1和Database#2都有Product#2,则导入器脚本必须更改ID以及引用它的所有外键.使用GUID,我只需要更改表本身的用户友好ID,而外键将使用每个导入记录唯一的GUID,因此无需修改即可使用.

所以,我的问题是:是否有任何重大问题(除了GUID字段的大小和简单的页面碎片)与自动递增整数索引和GUID主键?

database sql-server indexing guid primary-key

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

如何使JSON.stringify在NativeJavaArray上工作?

我有一个在NetSuite平台上运行的脚本,我99%肯定使用的是Rhino JavaScript引擎.我正在尝试使用相同的脚本在本地工作,但调用JSON.stringify包装的Java数组时出现问题.在这两种环境中,数组都是类型[object JavaArray],但是当在NetSuite上正确地对Java数组进行字符串化时,我的本地Rhino上下文说:

org.mozilla.javascript.EvaluatorException:Java类"[Ljava.lang.String;" 没有名为"toJSON"的公共实例字段或方法.

起初我以为他们NativeJavaArray用一个toJSON方法扩充了类并通过自定义返回它WrapFactory,但事实并非如此,因为toJSON返回的对象上没有方法.

是否有一个选项需要调整以使Java数组与JSON方法一起使用?我应该能够通过添加toJSONNativeJavaArray我上面提到的子类来解决它,但我希望尽可能与NetSuite的环境兼容.

javascript java arrays json rhino

7
推荐指数
0
解决办法
897
查看次数

将规范化的电话号码转换为用户友好的版本

在我的C#应用​​程序中,我使用正则表达式来验证美国电话号码的基本格式,以确保用户不仅仅输入虚假数据.然后,我删除了除数字之外的所有内容,所以这样:

(123)456-7890 x1234

12345678901234

在数据库中.但是,在我的应用程序的各个部分中,我想将此标准化电话号码转换回

(123)456-7890 x1234

做这种事的最好方法是什么?(顺便说一下,不要担心会计国际电话号码格式.)

c# regex formatting phone-number

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

是否可以在C程序中托管CLR?

我能找到的每个例子都是用C++编写的,但是我试图将我的项目保存在C中.是否有可能在C程序中托管CLR?

如果是这样,你能指点我一个例子吗?

c clr clr-hosting

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

将FontFamily应用于Silverlight 4 Beta中的所有控件

我想给每Control一个特定的FontFamilyFontWeight在Silverlight 4.0.我知道样式现在可以应用于某种类型的所有控件,所以我试过这个:

<Style TargetType="Control">
    <Setter Property="FontFamily" Value="Arial" />
    <Setter Property="FontWeight" Value="Bold" />
</Style>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎不起作用.但是,我可以为从中派生的类型执行此操作Control.例如,设置TargetTypeButton将这些值应用于Button我的应用程序中的每个值.

为什么我不能为Control基类做这个呢?

silverlight fonts controls styles silverlight-4.0

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

如何获取 WinUI 控件的父窗口?

我需要获得对父级的Microsoft.UI.Xaml.Window引用Control。Project Reunion 0.5 有办法做到这一点吗?Window.Current不适用于桌面应用程序。

c# windows winui winui-3

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

如何读取内存中加载的模块的PE头?

我正在尝试.NET中的内存访问.目前,我有一个托管程序,它启动一个非托管进程并检索BaseAddress其中一个加载的模块(DLL).我想要做的是以某种方式读取加载模块的PE头,以便我以后可以检索其导出的地址.

不幸的是,我找不到任何关于此的好信息.有任何想法吗?

.net c# memory portable-executable

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

为什么有些.NET项目在名称中使用了N前缀?

可能是一个愚蠢的问题,因为我认为N代表".NET",尽管我可能是错的.我对这个命名约定的开始感兴趣.

例子:

NHibernate
NLog
NCover
NDepend
Ninject(我意识到这应该是"ninja"的一个游戏,但它仍然适合)

.net naming-conventions

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

表达树

我对表达式树的理解是:

表达式树是表达式的内存表示,如算术或布尔表达式.表达式存储在已解析的树中.因此我们可以轻松地转换为任何其他语言.

Linq to SQL使用表达式树.通常在LINQ to SQL查询中,编译器将其转换为已解析的表达式树.它们作为T-SQL语句传递给Sql Server.Sql server执行T-SQL查询并将结果发送回去.这就是执行时的原因LINQ to SQLIQueryable<T>得不到IEnumetrable<T>.因为IQuerybale包含

public IQueryable:IEnumerable
{

   Type Element {get;}
   Expression Expression {get;}
   IQueryaleProvider Provider {get;}
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. Microsoft使用Expression树来玩LINQ-to-Sql.我可以使用表达式树来增强代码的不同方法.

  2. 除了LINQ to SQL,Linq到amazon,谁在他们的应用程序中使用了表达式树?

  3. Linq to Object返回IEnumerable,Linq to SQL返回IQueryable,LINQ to XML返回什么?

c# asp.net expression-trees

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