小编pha*_*unk的帖子

有条件的Lambda Foreach

我有一个列表,我正在迭代如下.

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.

c# linq

1
推荐指数
1
解决办法
228
查看次数

Treenode文本不同颜色的单词

我有一个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)

c# treeview treenode colors winforms

1
推荐指数
1
解决办法
5230
查看次数

是THEN还是END如果大致相当于花括号

当编译器看到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)

c# vb.net if-statement language-comparisons

0
推荐指数
2
解决办法
539
查看次数

将字符串的一部分移到另一个字符串

也许我没有正确的关键字,但似乎找不到解决方法。

假设我有这两个字符串:

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个字符发送一个请求。

  • 检查String1是否长于8000个字符
  • 如果是,采取的第一个8000 Char和MOVE他们向字符串
  • 将String2插入SQL
  • 重复
  • 如果长度小于8000个字符,则将字符串1发送到SQL

.net c# string

0
推荐指数
1
解决办法
3101
查看次数

如何在 Socket.IO 上下文中等待承诺

我有这个设置

//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 进行,因此我是否遗漏了一些明显的内容,或者这只是我不应该使用的模式。

javascript sockets node.js promise

0
推荐指数
1
解决办法
1690
查看次数

带参数的sql注入

以下是否暴露了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)

sql sql-injection

-1
推荐指数
1
解决办法
75
查看次数