我正在尝试使用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)
在这种情况下,构建和修订组需要返回空值.如果我认为这一切都错了,请随意提出一个更好的方法.
我一直在研究使用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主键?
我有一个在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方法一起使用?我应该能够通过添加toJSON到NativeJavaArray我上面提到的子类来解决它,但我希望尽可能与NetSuite的环境兼容.
在我的C#应用程序中,我使用正则表达式来验证美国电话号码的基本格式,以确保用户不仅仅输入虚假数据.然后,我删除了除数字之外的所有内容,所以这样:
(123)456-7890 x1234
变
12345678901234
在数据库中.但是,在我的应用程序的各个部分中,我想将此标准化电话号码转换回
(123)456-7890 x1234
做这种事的最好方法是什么?(顺便说一下,不要担心会计国际电话号码格式.)
我能找到的每个例子都是用C++编写的,但是我试图将我的项目保存在C中.是否有可能在C程序中托管CLR?
如果是这样,你能指点我一个例子吗?
我想给每Control一个特定的FontFamily和FontWeight在Silverlight 4.0.我知道样式现在可以应用于某种类型的所有控件,所以我试过这个:
<Style TargetType="Control">
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="FontWeight" Value="Bold" />
</Style>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎不起作用.但是,我可以为从中派生的类型执行此操作Control.例如,设置TargetType为Button将这些值应用于Button我的应用程序中的每个值.
为什么我不能为Control基类做这个呢?
我需要获得对父级的Microsoft.UI.Xaml.Window引用Control。Project Reunion 0.5 有办法做到这一点吗?Window.Current不适用于桌面应用程序。
我正在尝试.NET中的内存访问.目前,我有一个托管程序,它启动一个非托管进程并检索BaseAddress其中一个加载的模块(DLL).我想要做的是以某种方式读取加载模块的PE头,以便我以后可以检索其导出的地址.
不幸的是,我找不到任何关于此的好信息.有任何想法吗?
可能是一个愚蠢的问题,因为我认为N代表".NET",尽管我可能是错的.我对这个命名约定的开始感兴趣.
例子:
NHibernate
NLog
NCover
NDepend
Ninject(我意识到这应该是"ninja"的一个游戏,但它仍然适合)
我对表达式树的理解是:
表达式树是表达式的内存表示,如算术或布尔表达式.表达式存储在已解析的树中.因此我们可以轻松地转换为任何其他语言.
Linq to SQL使用表达式树.通常在LINQ to SQL查询中,编译器将其转换为已解析的表达式树.它们作为T-SQL语句传递给Sql Server.Sql server执行T-SQL查询并将结果发送回去.这就是执行时的原因LINQ to SQL你IQueryable<T>得不到IEnumetrable<T>.因为IQuerybale包含
public IQueryable:IEnumerable
{
Type Element {get;}
Expression Expression {get;}
IQueryaleProvider Provider {get;}
}
Run Code Online (Sandbox Code Playgroud)
问题:
Microsoft使用Expression树来玩LINQ-to-Sql.我可以使用表达式树来增强代码的不同方法.
除了LINQ to SQL,Linq到amazon,谁在他们的应用程序中使用了表达式树?
Linq to Object返回IEnumerable,Linq to SQL返回IQueryable,LINQ to XML返回什么?
c# ×5
.net ×2
regex ×2
arrays ×1
asp.net ×1
c ×1
clr ×1
clr-hosting ×1
controls ×1
database ×1
fonts ×1
formatting ×1
guid ×1
indexing ×1
java ×1
javascript ×1
json ×1
memory ×1
phone-number ×1
primary-key ×1
rhino ×1
silverlight ×1
sql-server ×1
styles ×1
version ×1
windows ×1
winui ×1
winui-3 ×1