在C#中比较字符串非常简单.事实上,有几种方法可以做到这一点.我在下面的块中列出了一些.我很好奇的是它们之间的差异以及何时应该使用其他的?是否应该不惜一切代价避免?还有更多我没有列出?
string testString = "Test";
string anotherString = "Another";
if (testString.CompareTo(anotherString) == 0) {}
if (testString.Equals(anotherString)) {}
if (testString == anotherString) {}
Run Code Online (Sandbox Code Playgroud)
(注意:我在这个例子中寻找平等,不小于或大于,但也可以随意发表评论)
我有一堆ZIP文件,迫切需要一些分层重组和提取.目前我能做的是创建目录结构并将zip文件移动到正确的位置.我缺少的神秘奶酪是从ZIP档案中提取文件的部分.
我已经在ZipArchive课堂上看过MSDN文章并且理解它们很合理.我也看过VBScript的提取方法.这不是一个复杂的类,因此提取东西应该非常简单.事实上,它"主要"起作用.我已将下面的当前代码包含在内以供参考.
using (ZipPackage package = (ZipPackage)Package.Open(@"..\..\test.zip", FileMode.Open, FileAccess.Read))
{
PackagePartCollection packageParts = package.GetParts();
foreach (PackageRelationship relation in packageParts)
{
//Do Stuff but never gets here since packageParts is empty.
}
}
Run Code Online (Sandbox Code Playgroud)
这个问题似乎存在于某个地方GetParts(或者就任何事情而言).看来打开的包是空的.深入挖掘调试器显示私有成员_zipArchive显示它实际上有部分.具有正确名称和一切的零件.为什么GetParts函数不能检索它们?我试过向ZipArchive开放,但没有帮助.哎呀.
我有一个使用CruiseControl的自动构建系统.我正在使用SvnRevisionLabeller来获取要使用的版本字符串.使用此字符串,我可以使用nant来更新AssemblyInfo.cs,因此在构建时它具有正确的构建字符串.我也可以使用此CC标签来标记subversion存储库.
所以一切都是对齐的
--CCNet Build标签
- 可执行(装配信息)
- 版本控制(subverson标签)
现在我遇到问题的是,如果我想尝试从存储库重建旧图像.由于AssemblyInfo.cs不受版本控制,而是生成文件,因此当我现在尝试构建时,版本信息将与使用CruiseControl构建此版本的存储库时的版本信息不同.我希望能够生成完全相同的图像,无论它是在CC构建期间构建还是在以后从Subversion签出时构建.
我知道它通常不推荐,但是我应该在每次构建之后签入assemblyInfo.cs文件,这样当我从svn签出后随后构建时,将使用正确的版本信息吗?
谢谢,利亚姆
我正在读取CSV文件并将其转换为SQL表.踢球者是表中的一列是数据类型ID,需要设置为常量(在本例中为2).我不知道该怎么做.
有人告诉我,以下代码块之间存在性能差异.
foreach (Entity e in entityList)
{
....
}
Run Code Online (Sandbox Code Playgroud)
和
for (int i=0; i<entityList.Count; i++)
{
Entity e = (Entity)entityList[i];
...
}
Run Code Online (Sandbox Code Playgroud)
哪里
List<Entity> entityList;
Run Code Online (Sandbox Code Playgroud)
我不是CLR期望,但从我可以告诉他们应该归结为基本相同的代码.有没有人有这样或那样的混凝土(哎呀,我拿着装满污垢)的证据?
假设页面TestPage.aspx有两个控件.第一个控件是一个地址控件,它有一个名为"AddressGroup"的验证组.该组包含几个验证控件,这些控件在该控件的验证摘要中包含在内.第二个控件是信用卡控件,并有一个名为"CreditCardGroup"的验证组.它还有几个验证器和一个摘要来显示结果.为了解决这个问题,页面上有一些随机控件,它们还有与第三个ValidatorSummary控件绑定的验证器.
当用户按下"全部操作"按钮时,我希望该页面触发所有三个验证组.按钮本身可以绑定到单个组或未标记的组.据我所知,它无法与多个群体联系在一起.
解决方案不是从控件中提取验证,因为这会降低在单独控制中使用它们的价值.谢谢你的想法.
我有SSRS提供的一系列报告.他们很棒,用户喜欢它们.
在这种情况下,高层管理人员希望在工作中投入工具并从Sharepoint服务器提供报告.
是否有一种让用户从sharepoint访问报告的实际无痛方法?有人会怎么做这样的事情?或者我只需要咬紧牙关并试图阻止疯狂?
在开发应用程序数据库时,不可避免地会出现更改.我发现的技巧是使您的数据库与代码保持同步.在过去,我添加了一个针对目标数据库执行SQL脚本的构建步骤,但这很危险,因为您可能无意中添加虚假数据或更糟.
我的问题是保持数据库与代码一致的提示和技巧是什么?回滚代码时怎么办?分枝?
我正在将一些用户数据从一个SqlServer复制到另一个SqlServer.称他们为Alpha和Beta.SSIS包在Beta上运行,它获取Alpha上满足特定条件的行.然后,包将行添加到Beta的表中.非常简单,效果很好.
问题是我只想在Beta中添加新行.通常我会做一些像......一样简单的事情.
INSERT INTO BetaPeople
SELECT * From AlphaPeople
where ID NOT IN (SELECT ID FROM BetaPeople)
Run Code Online (Sandbox Code Playgroud)
但这在SSIS包中不起作用.至少我不知道这个问题是怎么回事.如何在服务器上执行此操作?
我的营销部门,祝福他们,决定进行抽奖活动,让人们进入网页.这很好,但信息不会存储到任何类型的数据库,而是作为电子邮件发送到交换邮箱.大.
我的挑战是从这些电子邮件中提取条目(和营销信息)并将它们存储在更有用的位置,例如平面文件或CSV.唯一的优点是电子邮件具有高度一致的格式.
我相信我可以花时间将所有电子邮件保存到文件中,然后编写一个应用程序来完成它们,但希望有一个更优雅的解决方案.我可以以编程方式访问交换邮箱,读取所有电子邮件,然后保存该数据吗?
我编写了一个VBA应用程序,在Outlook中打开一个文件夹,然后遍历消息.我需要将消息体(通过一些调整)写入单个平面文件.我的代码如下......
Private Sub btnGo_Click()
Dim objOutlook As New Outlook.Application
Dim objNameSpace As Outlook.NameSpace
Dim objInbox As MAPIFolder
Dim objMail As mailItem
Dim count As Integer
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objInbox = objNameSpace.GetDefaultFolder(olFolderInbox)
count = 0
For Each objMail In objInbox.Items
lblStatus.Caption = "Count: " + CStr(count)
ProcessMailItem (objMail)
count = count + 1
Next objMail
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
有问题的部分是"ProcessMailItem".由于我并不过分关注此阶段的性能,因此对于此示例而言,非常无效的"打开,追加,关闭"文件方法很好.
我知道我可以花点时间用谷歌查找答案,但我先在这里查了一下,但没有好的答案.作为Stackoverflow的粉丝,我希望将其放在这里将有助于未来的开发人员寻找答案.谢谢你的耐心.
我是开发人员.好日子的建筑师.不知怎的,我发现自己也是小公司的DBA.我的背景在数据库艺术方面是公平的,但我从未成为一名成熟的DBA.我的问题是我需要做些什么来确保一个可靠且功能合理的数据库环境,尽可能少的实际工作量?
我确信我需要确保正在执行备份并且正在执行备份.这很简单.我应该在一致的基础上做什么?
我有一个窘境.我的Web应用程序(C#,.Net 3.0等)有主题,CSS表格,当然还有内联样式定义.现在,很多厨师都在汤里添加东西.所有这些结果,毫不奇怪,在我的页面有时会有奇怪的造型.
我确信所有这些样式都应用于分层方法(虽然我不确定那个顺序).问题是每个样式都被应用为"透明"层,它只是掩盖它所应用的内容.我认为这是一个好主意,因为你可以为整体指定样式,然后根据需要一次性地设置它们.不幸的是,我无法分辨出风格实际来自哪一层.
我可以通过在所有层明确表达样式来解决这个问题,但是这样做会变得笨重且难以管理,并且页面在80%的时间内都能正常工作.我只需要弄清楚20%来自哪里.
c# ×5
asp.net ×2
database ×2
sql-server ×2
ssis ×2
assemblyinfo ×1
comparison ×1
css ×1
csv ×1
email ×1
flat-file ×1
loops ×1
outlook ×1
outlook-vba ×1
performance ×1
sharepoint ×1
string ×1
svn ×1
task ×1
testing ×1
themes ×1
validation ×1
vba ×1
zip ×1