我根本没有使用正则表达式,所以我很难排除故障.我希望正则表达式只在包含的字符串是所有数字时匹配; 但是下面的两个例子是匹配一个包含所有数字的字符串加上一个等号"1234 = 4321".我确信有一种方法可以改变这种行为,但正如我所说,我从未真正对正则表达式做过多少工作.
string compare = "1234=4321";
Regex regex = new Regex(@"[\d]");
if (regex.IsMatch(compare))
{
//true
}
regex = new Regex("[0-9]");
if (regex.IsMatch(compare))
{
//true
}
Run Code Online (Sandbox Code Playgroud)
如果重要,我正在使用C#和.NET2.0.
我有一个通用的对象列表.每个对象有9个字符串属性.我想将该列表转换为可以传递给datagridview的数据集......最好的方法是什么?
我目前有一个类,我正在尝试创建一个简单的GUI来创建这个类的集合.这个类的大多数属性都是字符串.但是,我希望用户能够设置的属性之一是Enum.因此,我希望用户界面具有此枚举的下拉列表,以限制用户输入无效的值.目前,我正在获取对象的初始列表,将它们添加到DataTable并将DataGridView的DataSource设置为表.很好地工作,甚至为一个布尔属性创建一个复选框列.但是,我不知道如何将枚举列放入下拉列表中.我正在使用C#和.NET 2.0.
此外,我已经尝试将DataGridView的DataSource分配给我的对象列表,但是当我这样做时,它对enum没有帮助,我无法在DataGridView中创建新行,但我绝对不是绑定使用DataTable作为我的DataSource,它只是我半工作的选项.
我有一个带有datagridview的win表单(c#).我将网格的数据源设置为数据表.
用户想要检查数据表中的某些数据是否存在于另一个源中,因此我们遍历表将行与其他源进行比较,并将数据表上的rowerror设置为短消息.datagridview未显示这些错误.datagridviewrows上的errortext已设置,但未显示错误.
我只是期望显示错误太多,它们只显示在编辑网格中的数据的上下文中?
我一直在修补这一天,并寻找一个发布simalar问题的人无济于事 - 帮助!
使用visual studio 2008,我有一个开放的解决方案,并意识到我需要安装另一个程序,我正在使用的项目.我在visual studio打开时尝试调试程序,但是我安装的程序添加的环境变量不可见.在我退出VS并重新加载解决方案之前,我无法让它们刷新.有没有办法让visual studio"刷新"其环境变量列表而不退出并重新加载解决方案?
作为补充说明,我确实使用进程资源管理器来查看应用程序的环境变量,并确认它不知道我需要的环境变量.
我目前正在学习如何使用WiX创建msi安装程序,看起来我已经碰壁了.
当我创建包含单个环境所需的所有内容的MSI时,一切都很顺利.
我有功能和组件,可以安装我的MSI.
现在我正处于我想要在SQL Server风格的安装程序中转换它的阶段,在这个安装程序中你有多个实例支持.
一开始我想让用户获得一个允许他创建新实例或管理已有实例的屏幕.(更新/删除它们)
我花了整整两天的时间寻找解决方案,没有太多运气.
我已经找到了以下资源及其中的一些信息,但要么它们的实例数量有限,要么没有描述如何为用户提供上述选项的这种引导程序.
有没有人已经使用WiX实现了这一目标?或者,任何人都可以指向我往一些工作就如何实现这一点的例子吗?
我知道Installshield 2009可以做到这一点,但由于这只是一个爱好,我没有钱购买它.此外,我想在WiX中这样做,因为即将推出的Visual Studio 2010将改进对它的支持.
在C#中,如果没有使用漂亮的打印文件,你如何编写一个DataSet文件?
使用C#和.NET 2.0,我一直在使用dataSet.WriteXml(fileName,XmlWriteMode.IgnoreSchema),默认情况下是使用漂亮的打印来编写Xml文件.使用我写的Xml文件的公司建议,没有漂亮打印的写入不会影响它们,并且会显着减小文件的大小.稍微在System.Xml命名空间中玩,我找到了一个解决方案.但是,在我的搜索中,我没有在任何地方找到答案,所以我认为如果我发布问题,将来可能对其他人有所帮助.此外,如果有更好或至少不同的方式来实现这一点,我不会感到惊讶.
对于那些不知道的人(直到今天我都没有),Xml"漂亮的印刷品"是:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Foo>
<Bar>abc</Bar>
</Foo>
</NewDataSet>
Run Code Online (Sandbox Code Playgroud)
没有漂亮的打印,它看起来像这样:
<?xml version="1.0" encoding="utf-8"?><NewDataSet><Foo><Bar>abc</Bar></Foo></NewDataSet>
Run Code Online (Sandbox Code Playgroud)
此外,大小节省是显着的,70mb文件正在变得大约40mb.如果没有其他人的话,我今天晚些时候会发布我的解决方案.
我得到了一个.xml文件,我需要将其作为DataSet读入我的代码中(作为后台,该文件是通过DataSet
在C#中创建并调用来创建的dataSet.WriteXml(file, XmlWriteMode.IgnoreSchema)
,但这是由其他人完成的).
.xml文件的形状如下:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Foo>
<Bar>abcd</Bar>
<Foo>efg</Foo>
</Foo>
<Foo>
<Bar>hijk</Bar>
<Foo>lmn</Foo>
</Foo>
</NewDataSet>
Run Code Online (Sandbox Code Playgroud)
使用C#和.NET 2.0,我使用下面的代码读取文件:
DataSet ds = new DataSet();
ds.ReadXml(file);
Run Code Online (Sandbox Code Playgroud)
使用断点,在此之后line ds.Tables[0]
看起来像这样(使用破折号代替下划线,我无法正确格式化):
Bar Foo-Id Foo-Id-0
abcd 0 null
null 1 0
hijk 2 null
null 3 2
Run Code Online (Sandbox Code Playgroud)
我找到了一个解决方法(我知道有很多)并且能够成功读取.xml,但我想了解为什么ds.ReadXml(file)
以这种方式执行,所以我将来能够避免这个问题.谢谢.
我刚刚阅读了ROR(还没有潜入它),我听说它不是线程安全的.显然,这并不意味着不止一个人不能同时访问您的网站,那究竟是什么意思呢?线程在ROR中发挥作用的地方?他们只是意味着处理请求吗?