是否有一个语句或一行方式来完成这样的事情,其中字符串s被声明并且在表达式中分配了第一个非空值?
//pseudo-codeish
string s = Coalesce(string1, string2, string3);
Run Code Online (Sandbox Code Playgroud)
或者,更一般地说,
object obj = Coalesce(obj1, obj2, obj3, ...objx);
Run Code Online (Sandbox Code Playgroud) 你如何编写While循环的语法?
#int i = 0;
while (i != 10)
{
Console.WriteLine(i);
i++;
}
Run Code Online (Sandbox Code Playgroud)
Dim i As Integer = 0
While i <> 10
Console.WriteLine(i)
i += 1
End While
Run Code Online (Sandbox Code Playgroud)
<?php
while(CONDITION)
{
//Do something here.
}
?>
<?php
//MySQL query stuff here
$result = mysql_query($sql, $link) or die("Opps");
while($row = mysql_fetch_assoc($result))
{
$_SESSION['fName'] = $row['fName'];
$_SESSION['lName'] = $row['lName'];
//...
}
?>
Run Code Online (Sandbox Code Playgroud)
i = 0
while i != 10:
print i
i += 1
Run Code Online (Sandbox Code Playgroud) 这是来自具有转发器的ascx的代码:
<asp:Repeater ID="ListOfEmails" runat="server" >
<HeaderTemplate><h3>A sub-header:</h3></HeaderTemplate>
<ItemTemplate>
[Some other stuff is here]
<asp:Button ID="removeEmail" runat="server" Text="X" ToolTip="remove" />
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
在转发器的数据绑定和事件的代码隐藏中:
Protected Sub ListOfEmails_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles ListOfEmails.ItemDataBound
If (e.Item.ItemType = ListItemType.Item) Or (e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim removeEmail As Button = CType(e.Item.FindControl("removeEmail"), Button)
removeEmail.CommandArgument = e.Item.ItemIndex.ToString()
AddHandler removeEmail.Click, AddressOf removeEmail_Click
AddHandler removeEmail.Command, AddressOf removeEmail_Command
End If
End Sub
Sub removeEmail_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Write("<h1>click</h1>")
End Sub
Sub removeEmail_Command(ByVal sender …Run Code Online (Sandbox Code Playgroud) 当用户使用电子邮件地址注册时(即不提供现有的OpenID),Stackoverflow是否会创建新的OpenID?你是怎样做的?你在C#中有代码示例吗?Java的?蟒蛇?
基本上我想知道在VB.NET 2005中是否使用sqlcommand然后使用NEW重用它是错误的.它会导致内存泄漏吗?
例如:
try
dim mySQL as new sqlcommand(sSQL, cnInput)
// do a sql execute and read the data
mySQL = new sqlcommand(sSQLdifferent, cnInput)
// do sql execute and read the data
catch ...
finally
if mysql isnot nothing then
mysql.dispose
mysql = nothing
end if
Run Code Online (Sandbox Code Playgroud)
编辑:把try catch放入以避免关于不使用它们的评论
我正在编写一个C#POS(销售点)系统,它从键盘楔形磁卡读卡器输入.这意味着输入从磁条读取的任何数据都会被输入,就像它在键盘上非常快速地输入一样.目前我通过附加到KeyPress事件并寻找一系列包含刷卡哨兵角色的非常快速的按键来处理这个问题.
有没有更好的方法来处理这种输入?
编辑:设备只是将数据显示为击键,而不是通过其他驱动程序进行接口.此外,我们使用各种类型的设备,因此理想情况下,方法应独立于所使用的楔形特定模型.但是,如果没有其他选择,我将不得不做.
我有一些代码使用SMO来填充可用的SQL Server和数据库列表.虽然我们不再支持SQL Server 2000,但代码可能会在SQL Server 2000并且没有安装SMO库的计算机上运行.我会首先检查SMO并优雅地降低功能,而不是炸毁用户的脸.什么是检测机器上是否有SMO的最佳方法?
我通过快速Google扫描看到的每个示例都是"查找C:\ Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.Smo.dll"的变体.该方法的问题在于它仅适用于SQL Server 2005.如果SQL Server 2008是唯一安装的SQL Server,则路径将不同.
class Foo
{
static bool Bar(Stream^ stream);
};
class FooWrapper
{
bool Bar(LPCWSTR szUnicodeString)
{
return Foo::Bar(??);
}
};
Run Code Online (Sandbox Code Playgroud)
MemoryStream将采取一个,byte[]但我想这样做,如果可能的话不复制数据.
我几乎可以肯定我知道这个问题的答案,但我希望有一些我忽略的东西.
某些应用程序似乎在其标题栏和按钮上具有Vista Aero外观和感觉,即使在Windows XP上运行也是如此.(谷歌浏览器和Windows Live照片库作为例子浮现在脑海中.)我知道从WinForms实现这一目标的一种方法是创建一个无边框表单并自己绘制标题栏/按钮,然后重写WndProc以确保移动,调整大小,和按钮点击做了他们应该做的事情(我不清楚具体细节,但可能会花一天时间阅读文档.)我很好奇,如果有一个不同的,更容易的方式,我忽略.也许我忽略了一些API调用或窗口样式?
我相信Google已经通过Chrome使用自己动手操作的方法为我解答了这个问题.如果有人有新信息,我会将问题留待另一天,但我相信我已经自己回答了这个问题.
.net ×3
c# ×2
vb.net ×2
.net-2.0 ×1
asp.net ×1
button ×1
c++ ×1
coalesce ×1
conditional ×1
interop ×1
managed-c++ ×1
memory-leaks ×1
msdn ×1
openid ×1
oracle ×1
repeater ×1
smo ×1
sql-server ×1
windows-xp ×1
winforms ×1