我有一个列表,我正在迭代如下.
foreach (Statistics value in data.Where(x => x.DateOrTime >= start[0]))
Run Code Online (Sandbox Code Playgroud)
但是,我想添加一个检查,如果myVariable == 0然后按照上面的方式执行.另外,如下所示.
foreach (Statistics value in data)
Run Code Online (Sandbox Code Playgroud)
所以基本上,我想在表达式中做一个if/else.
我有一个TreeView,每个Node.Text都有两个字.第一个和第二个词应该有不同的颜色.我已经用DrawMode属性和DrawNode事件改变了文本的颜色,但我无法弄清楚如何分割Node.Text两种不同的颜色.有人指出我可以使用,TextRenderer.MeasureText但我没有想法如何/在哪里使用它.
有人有想法吗?
代码:
formload()
{
treeView1.DrawMode = TreeViewDrawMode.OwnerDrawText;
}
private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e)
{
Color nodeColor = Color.Red;
if ((e.State & TreeNodeStates.Selected) != 0)
nodeColor = SystemColors.HighlightText;
TextRenderer.DrawText(e.Graphics,
e.Node.Text,
e.Node.NodeFont,
e.Bounds,
nodeColor,
Color.Empty,
TextFormatFlags.VerticalCenter);
}
Run Code Online (Sandbox Code Playgroud) 当编译器看到THEN...END IF(在Vb中)和{ ... }(在C#中)看起来像是分隔If语句时,编译器是否看到相同的东西.
如果以相同的方式对待它们,为什么我可以在C#中执行此操作:
if(true)
int x = 1;
//Instead of
if(true)
{
int x = 1;
}
Run Code Online (Sandbox Code Playgroud)
但不是在VB中:
//Won't Compile
if(true)
x As Integer = 1
//Instead Of
if(true) then
x As Integer = 1
End If
Run Code Online (Sandbox Code Playgroud) 也许我没有正确的关键字,但似乎找不到解决方法。
假设我有这两个字符串:
firstString = "I am a string";
secondString = "I am a long";
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以让我将字符串1的一部分移至字符串2?
移动,而不是复制。
最终结果将是:
firstString = "I am a"
secondString = "I am a long string"
Run Code Online (Sandbox Code Playgroud)
我有一个包含很多字符的字符串。我想将此字符串发送到SQLServer,但是接收它的函数不能容纳超过8000个字符。因此,我需要每8000个字符发送一个请求。
我有这个设置
//Client Side
socket.emit('some_event');
//Server Side
socket.on('some_event', function(data){
socket.emit('another_event', getDataFromAPI());
});
Run Code Online (Sandbox Code Playgroud)
问题是我的函数getDataFromAPI()是一个调用,可能需要一些时间,因为它调用外部 API 并使用承诺。类似的东西:
function getDataFromAPI(){
myAPI.getStuffFromId('123456789')
.then(function(data){
return data;
});
}
Run Code Online (Sandbox Code Playgroud)
如果我以这种方式使用它,那么getDataFromAPI()socket.IO 调用范围中将没有任何内容发送null到客户端并undefined在我决定打印时进行打印。如果我将它登录到 promise 内的控制台,那么我就有了数据,但是返回它有点太晚了。
由于我将大量使用带有该 API 的 Promise 调用,并且我的大部分客户端/服务器实时通信将通过 Socket.IO 进行,因此我是否遗漏了一些明显的内容,或者这只是我不应该使用的模式。
以下是否暴露了Sql Injection攻击向量?如果它确实如何防止它?
@bookId = '1234;' + 'Drop table Books;'
Select * from Books where bookId = @bookId
Run Code Online (Sandbox Code Playgroud)
不会这样执行吗?:
Select * from Books where bookId = 1234; Drop table Books;
Run Code Online (Sandbox Code Playgroud)