我想从下面的字符串中提取'James \,Brown',但我并不总是知道这个名字是什么.逗号给我带来了一些困难,所以你建议提取James \,Brown?
OU = James \,Brown,OU =测试,DC =内部,DC =净
谢谢
奇怪的是,堆栈集合似乎缺少相当基本的移位和非移位方法*而且我在2.0中工作,所以我不能只扩展它们.
有没有合理的技术或替代集合类来获得这些方法?我也需要推送和弹出.
编辑:看起来像我想要的集合确实是一个deque,它很高兴不是C#的原生:(
目前无法使用第三方库,因此我将使用笨重的LinkedList(我说笨重,因为读取和移除是两个操作,其中shift将是一个)但我想我会向任何人推荐PowerCollections方法可以用它.或者更好的是,升级到扩展方法.
叹
*道歉,我没有意识到这些是不常见的术语,我以为我只是不知道在API中找到它们的位置.以供参考:
shift =删除第一个元素
unshift =在集合开头插入元素
我正在使用一些代码(不是我的,我不得不添加,我根本不相信这一点)对于一个打开套接字,发出请求和侦听响应的类,这会以一种我可以的方式抛出异常在xunit中测试时要理解.我假设同样的异常发生在"实时"但是该类由单例引用,因此它可能只是隐藏.
问题在xunit中显示为"System.CannotUnloadAppDomainException:在卸载appdomain时出错",并且在关闭套接字时,内部异常是"System.ObjectDisposedException"抛出(基本上)在终结器内!在Socket类中没有其他引用调用close和dispose受保护的套接字,所以我不清楚该对象是如何处置的.
此外,如果我只是捕获并吸收ObjectDisposedException,则当xunit命中该行以关闭侦听器线程时,xunit会终止.
我只是不知道Socket在被要求关闭之前是如何处理的.
我对套接字的了解只是我从发现这个问题以来所学到的,所以我不知道我是否提供了所需的一切.LMK如果没有!
public class Foo
{
private Socket sock = null;
private Thread tListenerThread = null
private bool bInitialised;
private Object InitLock = null;
private Object DeInitLock = null;
public Foo()
{
bInitialised = false;
InitLock = new Object();
DeInitLock = new Object();
}
public bool initialise()
{
if (null == InitLock)
return false;
lock (InitLock)
{
if (bInitialised)
return false;
sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
sock.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, 8);
sock.Bind( /*localIpEndPoint*/);
sock.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new …Run Code Online (Sandbox Code Playgroud) 经常看到并经常使用它,想知道它是否有名字?
C#版本:
public class Register
{
protected Register()
{
Register.registry.Add(this);
}
public static ReadOnlyCollection<Register> Instances
{
get { return new ReadOnlyCollection<Register>(registry); }
}
private static List<Register> registry = new List<Register>();
}
Run Code Online (Sandbox Code Playgroud)
如果你无法解决它,它会保留跟踪的实例:)
编辑:这只是一个片段,不要过分兴奋GC问题的人
我有FLASH对象的自定义标记,我想包含在cms内容中.现在,当我阅读内容时,我想抓住那些自定义标签及其间的价值.
自定义标签:
<myflash filename="test.swf" width="500" height="400">
<param name="wmode" value="somevalue"></param>
<param name="bgcolor" value="#ffffff"></param>
<var name="id" value="testid"></var>
</myflash>
Run Code Online (Sandbox Code Playgroud)
现在我需要一个正则表达式,它将从内容中读取整个代码块.一个内容中将有多个自定义标记.
有人可以帮忙吗?
亲切的问候,
VIPUL
今天下午,在注意到构建破坏以及某些文件看起来像旧版本(大约2周大)这一事实后,我检查了svn日志.显然,就在今天下午,其中一位开发人员对旧目录中的目录进行了"svn副本".因此看起来该目录中所有文件的最新版本"ie head"真的很旧,并且所有历史记录"ie log"甚至更旧.
但是,我想我可以通过使用另一个"svn副本"恢复(即疾病是治愈).我正在考虑做的是找到坏的"svn副本"完成的修订(比如转1234),减去1(1233)并做:
svn copy -r 1233 file://path/to/messed/up/dir file://path/to/messed/up/dir
Run Code Online (Sandbox Code Playgroud)
这应该恢复最新版本,并恢复我的所有历史.我这是对的吗?
我有一个.NET2.0 C#web-app.它具有可变数量的大型初始化昂贵的对象,这些对象在多个请求之间共享,但不与任何给定用户进行会话.因此,我需要将它们保存在查找结构中.这些对象需要根据需要创建,并不是应用程序生命周期所必需的,只是它们使用的生命周期.
再加上一点.
内存泄漏方式是一个简单的字典,这样做的内存安全方法是一个弱引用支持字典,但我遇到的问题是GC太快死了.实际上这可能不是一个问题,因为对象的流量应该是这样的,它们将保持活着而不会被迫再生太多,但理想情况下我希望它们也能缩小.
是否存在某种中间解决方案,我没有考虑哪种方法可以将对象安全地隐藏在GC中一段时间X,但也允许在那段时间结束时收集它们,最好是在那个时间计数器每次以与会话令牌类似的方式使用时都会重置?
为什么在某些国家/地区有逗号分隔符并且在某些点?你知道这是什么原因吗?如果你应该使用这个或者这个,每次检查都很烦人.