Java 中实数的好的正则表达式是什么?
我创建了正则表达式([-]?[\\d]*\\.[\\d]*)并针对以下预期输出对其进行了测试:
in out works?
--------------------------------------
qwerty34.34abcd 34.34 yes
qwe-34.34.34abcd -34.34 no
+17.-9abc 17.0 yes
-.abc0 0.0 no
Run Code Online (Sandbox Code Playgroud)
我必须准确地找出列(出)的内容。请提供通过所有这些测试的正则表达式。
我需要存储两个变量,然后检查它们是否没有改变.
List<CatalogInfo> list_catalogs = new List<CatalogInfo>();
List<FileInfo> list_files = new List<FileInfo>();
List<CatalogInfo> list_catalogs_for_check_changed = new List<CatalogInfo>();
List<FileInfo> list_files_check_changed = new List<FileInfo>();
Run Code Online (Sandbox Code Playgroud)
当我做:
list_catalogs_for_check_changed = list_catalogs;
list_files_check_changed = list_files;
Run Code Online (Sandbox Code Playgroud)
但是当我添加到list_catalogs或list_files项目时,我在debager中看到Items添加到list_catalogs_for_check_changed或list_files_check_changed.为什么???我没有用变量添加项目.
list_catalogs.Add(new CatalogInfo() { Action = "Create", Path = folderBrowserDialog1.SelectedPath });
Run Code Online (Sandbox Code Playgroud) 假设我有一个Foo具有复杂属性的类Bar.然后,假设我在其他类中有类似以下的方法:
public void DoSomething(Foo foo)
{
if (foo == null)
throw new ArgumentNullException("foo");
if (foo.Bar == null)
throw new ArgumentNullException("bar");
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下使用是否ArgumentNullException适当,严格来说,foo.Bar在这种情况下不是一个论据?我已经阅读并且可以理解,NullReferenceException手动抛出是不合适的.这告诉我我需要抽象吗?
public void DoSomething(Foo foo)
{
if (foo == null)
throw new ArgumentNullException("foo");
DoSomethingElse(foo.Bar);
}
private void DoSomethingElse(Bar bar)
{
if (bar == null)
throw new ArgumentNullException("bar");
}
Run Code Online (Sandbox Code Playgroud)
我的第一个代码片段是"正确"用法ArgumentNullException吗?处理这种情况的传统方法是什么?
谢谢.
我的应用程序有n层架构.我有不同的层(业务逻辑和数据链接和GUI).我正在使用一些常见的类将数据从一个层传递到另一个层.我有一个类(比如说RetrnValueCls),只有两个变量Return value和Return Message.当我将数据从一个层传递到另一个层时,我需要将此类Return Value与其他MasterItemsCls具有其他变量的类(例如)一起返回.
以下是方法
public MasterItemsCls GetMasterItemsMDL()
{
/* Does some computations and assign them to
attributes of MasterItemsCls and pass it other methods in other layers. */
}
public ReturnValueCls GetMasterItemsMDL()
{
/* Does some computations and assign them to
attributes of ReturnValueCls and pass it other methods in other layers. */
}
Run Code Online (Sandbox Code Playgroud)
我想同时返回上述类(MasterItemsCls&ReturnValueCls)作为方法的返回类型,GetMasterItemsMDL我也不想将这两个类组合在一起.如果有任何办法我可以告诉我.
我有一个用户控件,我在代码隐藏中成功设置Page.EnableEventValidation = false了Page_Init事件(为了将页面标记呈现为字符串):
MyControl.ascx.cs
protected void Page_Init(object sender, EventArgs e)
{
if (Request.Form["__EVENTTARGET"] != null
&& Request.Form["__EVENTTARGET"] == btnPrint.ClientID.Replace("_", "$"))
{
Page.EnableEventValidation = false;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在单独的页面上复制此功能时(这次是在runat=server脚本标记中)...
MyPage.aspx
<script runat="server">
protected void Page_Init(object sender, EventArgs e)
{
if (Request.Form["__EVENTTARGET"] != null
&& Request.Form["__EVENTTARGET"] ==
btnDownloadPDF.ClientID.Replace("_", "$"))
{
Page.EnableEventValidation = false;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
...我收到以下错误:
'EnableEventValidation'属性只能在页面指令或配置部分中设置.
现在,在我的第一个例子中,我在最初尝试执行此操作时收到此错误Page_Load; 但是,似乎您可以通过编程方式禁用事件验证,只要它在(或之前)完成Page_Init.不幸的是,在我的第二个例子中,这不起作用.
为什么这种情况在一种情况下有效而另一种情况无效?它与代码不在代码隐藏的事实有关吗?
我有一个包含许多输入的表单,每个表单Trim在处理之前都需要是med.在每次使用值时修剪这些都是费力的 - 而且不是很强大 - 因为每个在表单的代码隐藏中使用它们.
我想为我的每个属性做这样的事情:
private string _surname
public string Surname
{
get
{
return _surname.Trim();
}
set
{
_surname = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
Surname = txtSurname.Text;
}
Run Code Online (Sandbox Code Playgroud)
尽管如此,这看起来还是相当冗长.特别是对于具有大量输入的表格.也许只是:
private string _txtSurname;
protected void Page_Load(object sender, EventArgs e)
{
_txtSurname = txtSurname.Text.Trim();
}
Run Code Online (Sandbox Code Playgroud)
但是这与第一个例子没有相同的鲁棒性,如果我在其他地方分配相同的属性,我可能会忘记我需要先修剪.我觉得应该有一个更简洁的方法来处理这个问题.在那儿?
显然,我可以使用cmd控制台执行某些操作 Process.Start();
有没有办法获得该过程的输出?例如,我可能会有...
Process.Start("sample.bat");
Run Code Online (Sandbox Code Playgroud)
...在我的C#winforms应用程序中,sample.bat将包含以下内容:
echo sample loaded
Run Code Online (Sandbox Code Playgroud)
第一个问题:有没有办法sample loaded在蝙蝠执行后检索它?第二个问题:有没有办法在没有弹出控制台窗口的情况下使用它?
c# ×6
.net ×1
asp.net ×1
asp.net-2.0 ×1
conventions ×1
exception ×1
java ×1
regex ×1
webforms ×1
winforms ×1