你好 我有一个包含数千个项目的排序列表.就我而言,但这 不重要,对象只存储在Keys中,Values都是 没有什么.几个存储的对象(可能很大)有 被移除(比如当 ToBeRemoved = true 时). 类 SomeObj ToBeRemoved 是一个布尔字段 结束类 迭代backword集合更方便,得到 元素 DirectCast(SList.List.GetKey(i), SomeObj) 和以防万一(比如 if ToBeRemoved 为真)使用 SList.List.RemoveAt(i) 或 to 删除它们仅使用未删除的列表重建列表? (在后一种情况下,一个问题是不应该重新创建列表 使用 New() 构造函数,因为它可能正在被其他对象使用,而一个对象确实在使用它 不想断开 SList 引用.) 如何以最有效的方式做到这一点? -P 解决方案 pa*************@libero.it 写道
以下是关于 c-sharp 的编程技术问答
你好, 我对整数之间的运算符 > 有一个小问题:does 任何人都知道为什么,当我写的时候: “1>x",对于所有32和0的倍数,返回值为1 否则(这不会伤害我,1 会). 当我对“1L >x"做同样的事情时,只有 64 的倍数 这个. 我认为 0 是任何 x 0 的唯一可能结果. 为什么不是这样?以及如何简单地纠正这个问题——合二为一 指令,否则我是这样做的: long longFoo = intBar; longFoo >>= x; return (int) longFoo; ....但是这样做看起来很奇怪. 在此先感谢您的任何回答. 解决方案 嗨 Vivien, 移位操作是使用 x 操作数的最低 5 位来完成的 Int32,最低 6 位为 Int64. 1 > 32 与 1 > 0 相同 2006 年 11 月 23 日星期四 12:20:55 +0100,Vivien Parlat
由于线程没有停止功能并且我不打算使用中止, 我想知道如何停止线程? 我的问题是我只是想在后台执行一个函数并且 可能“重启"它. 一直在做的基本上是: if (SerialRowThread != null) { SerialRowThread.Abort(); WaitingThread.Stop(); } WaitingThread.Start(); SR.Setup(domainUpDown1.SelectedIndex, Intervals, Entries); SerialRowThread = new Thread(SR.Compute); SerialRowThread.Start(); ---- SR 是包含方法compute 的类,SR.Setup 设置 状态. 现在这个工作了,但我想知道我是否可以暂停线程和它 会做同样的事情,但不使用 abort. 即,GC 将最终处理线程
大家好, 这就是我目前正在上周五的情况.让我印象深刻 麻烦.有没有更流畅/更优雅的方式? 感谢您的任何想法, cdj 私有字符串 prevFridayString(DateTime 天) { 日期时间 rv; int 偏移量 = 0; 切换(day.DayOfWeek) { 案例 DayOfWeek.Sunday: 偏移量 = 5; 休息; 案例 DayOfWeek.Monday: 偏移量 = 4; 休息; 案例 DayOfWeek.Tuesday: 偏移量 = 3; 休息; 案例 DayOfWeek.Wednesday: 偏移量 = 2; 休息; 案例 DayOfWeek.Thursday: 偏移量 = 1; 休息; 案例 DayOfWeek.Friday: 偏移量 = 0; 休息; 案例 DayOfWeek.Saturday: 偏移量 = -1; 休息; } rv = day.AddDays(-
谁能给我解释一下这个...? 为表单添加一个Label和一个Button. 将 Label 的 RightToLeft 设置为 True. 试试这个 Label1.Text="12345."; 展示你会看到 ..12345 小数点跳错了 如果你这样做 Label1.Text = Label1.Text + "00"; 在屏幕上你会看到 12345.00 它纠正了自己 嗯? 在此先感谢 解决方案 您好, 我无法重现这一点.你能给我们一个代码示例来演示 错误?控件的位置是否重要.什么样的 你在用 Visual Studio(如果有的话)吗? 2006 年 11 月 23 日星期四 02:15:01 +0100,SLIMSHIM
好的 - 第一份合同的 C# 承包商得到了这个坏男孩: “试图读取或写入受保护的内存.这通常是一个 指示其他内存已损坏." 我在一个 在 Windows Server 2003 EE 上运行的 ASP.NET 2.0 应用程序. 每次我都 时,它似乎出现在代码中的不同位置看过. 我认为它发生在调试和发布配置中. 该应用程序比较大,并且很难修剪得到 离问题更近了. 一旦异常被抛出一次,那么该异常中的所有应用程序 流程 有什么建议?- 也许有人可以建议一种更接近的方法 问题(我可以捕获异常). 我怀疑它*可能*与我们使用微软的事实有关 XML, v4.0 (MSXML2) - 有人对此有什么意见吗? 你的拼命, Oli. 解决方案
使用下面的代码,我很快就会用完可用的数据库连接. 我喜欢认为我正在关闭一切,但我会看 一旦 getIDs 方法发挥作用,连接就会迅速增加. 有没有人看到任何明显的东西?好像我的代码无法关闭 尽可能快地打开数据库连接... 感谢您的帮助! --布伦特 ================================== 代码片段 ================================== //创建数组后string[] ids for(int i = 0;i { string theseids = getIDs(Int32.Parse(ids[i])); if (theseids != "0") { Response.Write(cusips.ToString()); } } 公共字符串 getIDs(int id) { StringBuilder ids = new StringBuilder(); //设置
你好, 大家好,我正在尝试开发一个 Internet Explorer 插件,该插件将 保存密码并允许我自动注册服务. 现在我已经弄清楚了大部分事情.我正在使用 Pavel Zolnikov 的 现在使用CSharp开发插件的经典方法. http://www.codeproject.com/csharp/dotnetbandobjects.asp 现在我想知道如何知道哪个页面要求输入密码.以及怎么做 我填写密码.还有哪个页面需要注册和 注册时要填写的所有数据.我应该使用 HTTP 请求 和 HTTP 网络请求?不会是……呃……笨拙吗?? 浏览器实际上是如何做到的? 解决方案 Hello pr****************@gmail.com, 大家好,我正在尝试开发一个 Internet Explorer 插件,该插件将 保存密码并允许我自动注册服务. 现在我已经弄清楚了大部分事情.我正在使用帕维尔 佐尔尼科夫的 现在使用CShar
你好, 我正在尝试在我正在构建的新应用程序中使用 MVP 模式. 我正在使用 TDD,以及附加到 View 接口的模拟视图 尝试对 UI 进行单元测试.我遇到的问题是使用 演示者的 InitView(),通常我会从 检索数据调用 InitView 时的 NHibernate. 这就是问题所在,我似乎无法弄清楚如何正确 从我的单元测试代码附加到演示者,然后调用 InitView 没有我的生产演示者实际连接到数据库和 正在检索数据. 目前我创建了虚拟 Initilizer,即我有 InitView() 将在生产 asp.net 前端中使用,并且正在使用 InitViewTest() 在我的单元测试中. 对于这个项目,我没有使用任何 DAO 类,因为它是一个小应用程序 我认为不需要扩大规模. 当您将 MVP 与单元测试一起使用时,它是最好的吗 有兴趣通过 创建一组用于数据访问的 DAO 泛型类NHibernate,然后用实际的 DAO
大家好, 如果我从派生类构造函数调用基类,是 基类构造函数在调用派生类之前执行 构造函数?: public someclass(someparam foo) : base(foo) 解决方案 基类构造函数总是在派生类构造函数之前调用. 白巫师 又名甘道夫 MCSD.NET、MCAD、MCT “^金吾先生^"写道: 大家好, 如果我从派生类构造函数调用基类,是 基类构造函数在调用派生类之前执行 构造函数?: public someclass(someparam foo) : base(foo) 嗨, 是的 无论如何测试它很容易: A类{ 字符串 s; A(字符串 s){this.s = s;} } B类:A{ B(string s):base(s) { Console.Write(s); } } -- -- 伊格纳西奥·马钦, ignacio.machin AT dot.state.
这是一些描述我正在尝试做的事情的伪代码: foreach(集合中的对象) { 如果(某些条件) 集合.删除(对象); } 这样做的问题是,如果删除任何内容,foreach 就会搞砸 从收藏.处理这种情况最好的方法是什么? -- 罗伯特·W. 不列颠哥伦比亚省温哥华 www.mwtech.com 解决方案 在VB 2005中,使用 for i as Integer in collection.count -1 to 0 step -1 if collection(i) = condition then collection.removeat(i) 下一个 迭代器不喜欢移除对象. 迈克·奥伯. “罗伯特·W."
我习惯于使用老式 ADO,我可能会在其中创建以下内容: objConn.Open(sConnectString); objRecordSet.Open("Select * from users where UID='' + sUserID + "''", objConn); 然后我有一个记录集集合,我可以对其进行过滤或单步执行 等基于特定的 SQL 查询. .NET 中是否采用了类似的方法?我看到像 这样的项目数据源 表适配器 数据集 但是我没有看到针对特定 执行 SQL 的特定方法表或一组表.我已为我的项目定义了数据源 我可以将网格或字段视图拖放到我的表单中,但我不能 想要那种功能.我想要用户输入,然后我会做一个 在我的数据库中查找. 有人能指出我正确的方向吗? 提前致谢! 解决方案 您好, 是的,你走在正确的轨道上. 首先,您对 System.Data 命名空间感兴趣,也称为 ADO.NET 在那里你
我有一个 winforms 应用程序,我正在从数据读取器读取一些记录,并且 像这样将它们写到一个文件中 SqlDataReader dataReader = sqlCommand.ExecuteReader(); TextWriter textWriter = new StreamWriter(strFileName); 而(drReader.Read()) { strRecord =//////strRecord 在这里构建东西 textWriter.WriteLine(strRecord); iRecordCount++; } textWriter.Close(); 此代码在 Win XP 上的调试模式和发布模式下工作正常,但失败 win2000的发布模式.它不会像抛出任何异常或任何 那样失败错误,似乎工作正常,但没有创建文件.一切都出现了 工作,但我没有文件. strFileName 由许多变量组成,但最终看起来 像这样的 c:\X
void DisplayLines(对象状态) { for (int i = 0; i { int iCopy = i; rtb.BeginInvoke((MethodInvoker)委托 { rtb.AppendText(iCopy + "\n"); }); } MessageBox.Show("完成"); } 我用 ThreadPool's 从主线程调用这个函数QueueUserWorkItem 方法.因为我正在从 访问 RichTextBox 变量 rtb我必须调用与创建它的线程不同的线程 BeginInvoke 方法. 上面的代码似乎工作正常,但我不确定它是否能保证自 iCopy,从委托内部访问的变量,可能 在调用委托之前超出范围.这是否意味着iCopy可以 在委托访问之前销毁? 解决方案 你好,Dean! 您在 2006 年 9 月 3 日星期日 03:25:48 +0200 上写道: DSAbove 代码似乎工作正常
你好, 我有一个计时器类,我想发送一个基于特定的事件 计时器的时间, 例如,可能每 500 毫秒调用一次函数,很可能是回调, 类似于 Systems.Timer 的工作方式. 有没有一种方法可以创建事件来实现这一点? 谢谢 Jeff 解决方案 已经有一个计时器类可以做到这一点.你有什么理由 自己想做吗? -- 肖恩 哈普你好, Timer 类支持 System.Threading.TimerCallback 回调 请参阅 http://msdn.microsoft.com/library/de...sctortopic.asp 嗨, 你好有一个计时器类,我想发送一个基于 的事件特定的 来自计时器的 Htimes, Hexample 可能每 500 毫秒调用一次函数,很可能是回调, H类似于 Systems.Timer 的工作方式. 你有没有一种方法可以创建事件来实现这一点? 谢谢 杰夫 --- WBR, Micha
用 C# 构建的解决方案可以利用 MSMQ 和/或 MTS 吗? 如果是这样,这是否会成为我已经拥有的关于 MSMQ 和 MTS 的培训材料 在 VB6 的上下文中,学习前的适当先决条件基础 如果我已经了解 VB6 以及如何在 MSMQ/MTS 上构建 C# 解决方案 C#? Jon 解决方案 您可以使用 MSMQ 和 构建企业级应用程序企业服务.但是,您的 VB6 经验可能有限 用处.一个典型的例子是您指的是“MTS".一个名词 超过 5 年未被 Microsoft 使用. 彼得 -- Eggheadcafe.com 开发者门户联合创始人: http://www.eggheadcafe.com 取消博客: http://petesbloggerama.blogspot.com “乔恩戴维斯"写道: 用 C# 构建的解决方案可以利用 MSMQ 和/或 MTS 吗? 如果是这样,这是否会成为我已经拥有的关于 MSMQ 和 M
你好, 我想知道是否可以使用泛型执行以下操作: 假设我有一个泛型成员变量作为泛型类的一部分 像这样: 列表>_查询; 其中 DLinqQuery 是一个带有类型参数的泛型类 TDataContext. 这个成员变量是一个名为 的泛型类的一部分DLinqDataSource并作为 的公共财产公开指定的类型. 假设所有的 TDataContext 类型都将派生自 具体类DataContext. 现在,假设我从 DataContext 派生了一个名为 MyDataContext 的类. 我创建了两个这样的具体类: 公共类 MyDataQuery : DLinqQuery{} 公共类 MyDataSource : DLinqDataSource{} 我希望能够将 MyDataSource