除了单独逐步执行元素之外,如何比较两个字符串列表是否相等(在.NET 3.0中):
这失败了:
// Expected result.
List<string> expected = new List<string>();
expected.Add( "a" );
expected.Add( "b" );
expected.Add( "c" );
// Actual result
actual = new List<string>();
actual.Add( "a" );
actual.Add( "b" );
actual.Add( "c" );
// Verdict
Assert.IsTrue( actual == expected );
Run Code Online (Sandbox Code Playgroud) cipher = new Dictionary<char,int>;
cipher.Add( 'a', 324 );
cipher.Add( 'b', 553 );
cipher.Add( 'c', 915 );
Run Code Online (Sandbox Code Playgroud)
如何获得第二个元素?例如,我想要像:
KeyValuePair pair = cipher[1]
Run Code Online (Sandbox Code Playgroud)
哪一对包含 ( 'b', 553 )
基于合作社使用List的建议,事情正在发挥作用:
List<KeyValuePair<char, int>> cipher = new List<KeyValuePair<char, int>>();
cipher.Add( new KeyValuePair<char, int>( 'a', 324 ) );
cipher.Add( new KeyValuePair<char, int>( 'b', 553 ) );
cipher.Add( new KeyValuePair<char, int>( 'c', 915 ) );
KeyValuePair<char, int> pair = cipher[ 1 ];
Run Code Online (Sandbox Code Playgroud)
假设我是正确的,项目按照添加的顺序保留在列表中,我相信我可以使用a List
而不是SortedList
建议的.
使用Visual Studio 2008,Windows窗体,C#,.NET 2.0 ......
是否有一种无代码的方法来获得一个控件(在我的情况下恰好是一个PictureBox),以便在调整窗口大小时保持居中?换句话说,使用属性设置的某种组合而不是手动编写代码以保持元素居中.
例如,在窗体窗口中央有一个按钮,当用户调整窗口大小时,按钮将根据其默认锚定(顶部,左侧)保持固定.我想要它做的是保持居中,无论窗口如何调整大小.
我知道我可以观察一个窗口调整大小事件,然后让表单上的所有元素重新定位,以保持在相同的相对位置(根据我写的代码让他们这样做).我希望有一些属性设置的组合来实现相同的效果.
正如在其他帖子中所建议的那样,我已经尝试过使用TableLayout控件,但是在针对元素居中的特定解决方案方面可以使用正确方向.
人们普遍认为应该避免严重依赖全球性的东西.不会使用静态类和方法是一回事吗?
在Visual Studio 2008安装项目的上下文中,什么是"内容文件".换句话说,在创建安装项目并定义文件系统设置并选择:添加项目输出>内容文件时,将添加哪些文件?
例如,对于某个文件或其位置,它必须是什么才能被视为给定项目输出的内容文件?
我喜欢Visual Studio 2008 IDE集成(非命令行)功能,以选择通过FTP将ASP.NET网站发布到我的Web服务器.我能够存储我的FTP用户名但我没有看到任何存储我的FTP密码的选项,所以我必须在每次发布时输入它.
是否存在与VS2008 FTP发布的许多登录系统上的"记住密码"功能相同的功能?
alt text http://img268.imageshack.us/img268/7752/logino.jpg
谢谢!
在开发ASP.NET站点时,是否可以设置自动登录?
例如,每次我构建网站并运行它时,我都必须再次登录.我不想完全禁用安全性,但我希望在我在网站上工作时自动登录.
对于WPF WebBrowser控件,有没有办法复制Internet Explorer的缩放功能?
换句话说,Internet Explorer的菜单视图>缩放> 75%,使网页的比例为75%.有没有办法让一个嵌入在WPF应用程序中的Web浏览器控件做同样的事情?
我看过这篇文章: WPF WebBrowser - 如何缩放内容?
但它似乎只是缩放页面而不是页面内容.
在Microsoft SQL Server 2005和.NET 2.0中,我想将当前日期转换为此格式的字符串:"YYYY-MM-DD".例如,2009年12月12日将成为"2009-12-20".我如何在SQL中执行此操作.
表定义中此SQL语句的上下文.换句话说,这是默认值.因此,当创建新记录时,当前日期的默认值将以上述格式存储为字符串.
我正在尝试:SELECT CONVERT(VARCHAR(10),GETDATE(),102)AS [YYYY.MM.DD]
但SQL服务器不断将其转换为:('SELECT CONVERT(VARCHAR(10),GETDATE(),102)AS [YYYY.MM.DD]')
所以结果就是:
'SELECT CONVERT(VARCHAR(10),GETDATE(),102)AS [YYYY.MM.DD]'
以下是Visual Studio服务器资源管理器,表,表定义,属性显示内容的屏幕截图:
这些包装器位正在自动添加并将其全部转换为文字字符串:(N'')
这就是我尝试使用以前使用的基本DATETIME之外的其他原因:
这是我将所有内容挂钩到ASP.NET GridView并尝试通过网格视图进行更新时出现的错误:
正在使用的SQL Server版本不支持数据类型"date".描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.ArgumentException:正在使用的SQL Server版本不支持数据类型"date".
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
堆栈跟踪:
[ArgumentException:正在使用的SQL Server版本不支持数据类型'date'.]
注意:我添加了一个相关问题,试图绕过正在使用的SQL Server不支持数据类型'date'错误,以便我可以按照建议使用DATETIME.
如何从 WPF RichTextBoxCtrl中忽略/阻止/删除-键盘快捷键?L
现在,这绑定到AlignLeft EditingCommand。我想在 RichTextBox 中使用此键盘快捷键进行其他操作(删除行)。
我目前正在处理 keyDown 事件,但是Ctrl-L从未成功。换句话说,我可以响应Ctrl- H,例如,没问题,但是Ctrl-L已经被控件吞噬了。
private void richTextBoxMain_KeyDown (object sender, KeyEventArgs e)
{
if ( Keyboard.IsKeyDown(Key.LeftCtrl))
{
if (e.Key == Key.L)
{
// never gets here.
}
}
}
Run Code Online (Sandbox Code Playgroud) c# ×3
.net ×2
wpf ×2
asp.net ×1
collections ×1
comparison ×1
deployment ×1
dictionary ×1
equality ×1
ftp ×1
installation ×1
oop ×1
publishing ×1
richtextbox ×1
security ×1
sql ×1
sql-server ×1
t-sql ×1
webforms ×1
winforms ×1
zoom ×1