我想用Linq的Aggregate函数创建一个逗号分隔值字符串.有人知道怎么做吗?
给定一个像这样的字符串数组:
var authors = new string[] {"author 1", "author 2", "author 3"};
Run Code Online (Sandbox Code Playgroud)
如何获得像这个作者1,作者2,作者3的单个字符串?我想的authors.Aggregate(author => author + ",")可能会做到这一点,但不确定.
想法?
我读到WindowsFormsApplicationBase,位于Microsoft.VisualBasic.ApplicationServices命名空间中
我是否必须真正添加完整的Microsoft.VisualBasic.ApplicationServices才能在c#中获取WindowsFormsApplicationBase?如果我这样做,我的c#app的大小和性能会有什么影响?
老:
private string Check_long(string input)
{
input = input.Replace("cool", "supercool");
input = input.Replace("cool1", "supercool1");
input = input.Replace("cool2", "supercool2");
input = input.Replace("cool3", "supercool3");
return input;
}
Run Code Online (Sandbox Code Playgroud)
新:
private string Check_short(string input)
{
input = Regex.Replace(input, "cool", "supercool", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "cool1", "supercool1", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "cool2", "supercool2", RegexOptions.IgnoreCase);
input = Regex.Replace(input, "cool3", "supercool3", RegexOptions.IgnoreCase);
return input;
}
Run Code Online (Sandbox Code Playgroud)
旧的解决方案String.Replace工作得很好.但它不支持不区分大小写.所以我必须检查Regex.Replace,但现在它将无法正常工作.这是为什么 ?
我想在C#中使用Regex验证电子邮件地址.
我正在使用这种模式:
^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$
Run Code Online (Sandbox Code Playgroud)
此模式仅匹配大写字母.例如:
"example@gmail.com" - >返回false."EXAMPLE@GMAIL.COM" - >返回true.
我显然希望第一个例子也会返回true.
注意:我不想使用该RegexOptions.IgnoreCase标志.
我想更改模式本身以匹配第一个示例.我认为我可以在模式的末尾添加一个"/ i"或类似的东西,但它似乎不起作用.我也不喜欢在开头使用"?i".
我怎样才能实现这一目标?
(如果你可以为我重写整个模式,那就太棒了!).
谢谢.
我想定义一个接受SET中字符串的变量,然后将其转换为Int32并在GET期间使用它.
这是我目前拥有的代码:
private Int32 _currentPage;
public String currentPage
{
get { return _currentPage; }
set
{
_currentPage = (string.IsNullOrEmpty(value)) ? 1 : Convert.ToInt32(value);
}
}
Run Code Online (Sandbox Code Playgroud) 大家好.
我遇到了一个奇怪的问题.我的应用程序有一个简单的方法,如果IE进入一个状态是它得不到响应这个方法被解雇所有IE进程,然后应用程序重新启动它与IE的工作.
方法代码:
foreach (System.Diagnostics.Process exe in System.Diagnostics.Process.GetProcesses())
{
if (exe.ProcessName.StartsWith("iexplore"))
exe.Kill();
}
Run Code Online (Sandbox Code Playgroud)
即使使用管理员权限调试我的应用程序,应用程序有时也会成功运行此方法,有时我Access Denied甚至会以管理员身份运行该错误.
我甚至编写了我自己的清单文件,指定需要使用管理员权限执行此应用程序,我认为我做对了.
清单代码:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="Demo.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
</application>
</compatibility>
</asmv1:assembly>
Run Code Online (Sandbox Code Playgroud)
以前有人有这个问题吗?我怎样才能纠正这个奇怪的问题.
谢谢
我想解析一个dtd文件并使用我从中获取的信息来创建一些类.我知道我可以将它转换为xsd然后解析它,但我希望避免这种情况.我通过谷歌找到的一切都是为了验证dtd.所以我想我的问题是:如何使用c#解析dtd文件,或者我可以使用哪些工具或库?我应该补充一点,我正在使用visual studio 2005.
我正在处理一些位于仓库中完全不同位置的项目,我想知道为每个项目使用不同的工作空间是否有任何实际好处,而不是使用单个工作空间,其中工作空间视图包含一个列表客户端映射.
在这里使用多个工作区是否有任何实际好处,或者它们主要是针对单用户多机器场景设计的?多个工作空间何时有用?
我有一个列入会话的列表:
Session.Add("SessionList", mylist);
Run Code Online (Sandbox Code Playgroud)
如何从会话中检索回来?
好吧,让我们说我有一个List<car>.每辆车还包含一个List<part>.每个部分都ID与之相关联.我只给了IDa part,我想找到car包含它的那个part.找到这个的最佳方法是什么car?
c# ×8
.net ×6
regex ×2
string ×2
aggregate ×1
asp.net ×1
collections ×1
csv ×1
deployment ×1
dtd-parsing ×1
linq ×1
list ×1
perforce ×1
performance ×1
privileges ×1
process ×1
properties ×1
replace ×1
vb.net ×1
winforms ×1
workspace ×1