问题标签 [vb.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7712 浏览

c# - 控制台应用程序中的可靠计时器

我知道在.NET中有三种计时器类型(请参阅Comparing the Timer Classes in the .NET Framework Class Library)。我选择了一个线程定时器,因为如果主线程很忙,其他类型可能会漂移,我需要它是可靠的。

这个计时器在计时器控制下的工作方式被放在另一个线程上,因此它总是可以在不忙时随着父线程上的工作开始完成而滴答作响。

控制台应用程序中这个计时器的问题是,当计时器在另一个线程上滴答作响时,主线程没有对应用程序关闭做任何事情。

我尝试添加一个while true循环,但是当计时器关闭时主线程太忙了。

0 投票
2 回答
5967 浏览

c# - 在 C#/VB.NET 中解码 T-SQL CAST

最近,我们的网站被Asprox 僵尸网络 SQL 注入攻击的死灰复燃。无需详细说明,攻击尝试通过将T-SQL命令编码为 ASCII 编码的 BINARY 字符串来执行 SQL 代码。它看起来像这样:

我能够在 SQL 中对此进行解码,但我对此有点谨慎,因为我不知道当时究竟发生了什么。

我尝试编写一个简单的解码工具,因此我可以在不接触SQL Server的情况下解码这种类型的文本。我需要解码的主要部分是:

我已经尝试了以下所有命令,但没有成功:

在不使用 SQL Server 的情况下转换此编码的正确方法是什么?是否可以?我将采用 VB.NET 代码,因为我也熟悉它。


好的,我确定我在这里遗漏了一些东西,所以这就是我所在的位置。

由于我的输入是一个基本字符串,我只从编码部分的片段开始 - 4445434C41(转换为 DECLA) - 第一次尝试是这样做......

...它所做的只是返回与我输入的完全相同的内容,因为它将每个字符转换为一个字节。

我意识到我需要手动将每两个字符解析为一个字节,因为我还不知道有什么方法可以做到这一点,所以现在我的小解码器看起来像这样:

前几对的情况看起来不错,但是当循环到达“4C”对时,循环停止并说字符串的格式不正确。

有趣的是,当我单步调试调试器并到达我能够解析的字节数组上的 GetString 方法时,我得到“,-+”作为结果。

我如何弄清楚我缺少什么 - 我是否需要对每个字节进行“直接转换”而不是尝试解析它?

0 投票
11 回答
68591 浏览

c# - 将 CSV 文件导入 .Net 中的强类型数据结构

将 CSV 文件导入强类型数据结构的最佳方法是什么?

0 投票
15 回答
102595 浏览

c# - Setting Objects to Null/Nothing after use in .NET

Should you set all the objects to null (Nothing in VB.NET) once you have finished with them?

I understand that in .NET it is essential to dispose of any instances of objects that implement the IDisposable interface to release some resources although the object can still be something after it is disposed (hence the isDisposed property in forms), so I assume it can still reside in memory or at least in part?

I also know that when an object goes out of scope it is then marked for collection ready for the next pass of the garbage collector (although this may take time).

So with this in mind will setting it to null speed up the system releasing the memory as it does not have to work out that it is no longer in scope and are they any bad side effects?

MSDN articles never do this in examples and currently I do this as I cannot see the harm. However I have come across a mixture of opinions so any comments are useful.

0 投票
3 回答
5755 浏览

vb.net - “最佳”差异算法

我需要在 VB.NET 中实现一个 Diff 算法来查找一段文本的两个不同版本之间的变化。我在网上找了一个侦察员,发现了几种不同的算法。

这里有人知道我可以实现的“最佳”算法吗?

0 投票
5 回答
12579 浏览

vb.net - 部署 VB.NET 应用程序的最佳方式是什么?

通常,当我在构建 VB.NET 程序时使用 ClickOnce,但它有一些缺点。我从来没有真正使用过其他任何东西,所以我不确定我的选择是什么。

ClickOnce 的缺点:

  • 由多个文件组成 - 分发一个文件似乎比管理一堆文件和下载器下载这些文件更容易。
  • 您必须为 CD 安装再次构建它(当最终用户没有互联网时)
  • 程序不会出现在程序文件中 - 它最终隐藏在某些应用程序捕获文件夹中,这使得快捷方式变得更加困难。

ClickOnce 的优点:

  • 有用。神奇地。它内置于 VisualStudio 2008 express 中。
  • 使升级应用程序变得容易。

Windows Installer 是否也执行这些操作?我知道它没有任何 ClickOnce 缺点,但很高兴知道它是否也具有 ClickOnce 优点。

更新:我最终使用了 Wix 2(Wix 3 可用,但在我做这个项目时,没有人有一个称职的教程)。这很好,因为它支持我(最终)需要的三件事。一个可选的 Windows 启动快捷方式、一个在安装程序完成时启动的选项,以及我老板认为可以防止用户点击错误选项的三段文字。

0 投票
4 回答
841 浏览

.net - 在 Windows 窗体应用程序中查找长时间运行代码的最佳方法是什么

我继承了一个用 VB.Net 编写的 Windows 窗体应用程序。该应用程序的某些部分运行速度非常慢。找出代码的哪些部分阻碍了事情的最简单方法是什么?我正在寻找一种方法来快速找到最慢的子程序并首先解决它们,以尝试加快应用程序的速度。

我知道有几种代码分析器产品可供购买,它们会显示每个子例程需要多长时间,但我希望找到一个免费的解决方案。

0 投票
2 回答
1945 浏览

vb.net - 用于 VB.NET 解决方案的 SVN 客户端忽略模式

TortoiseSVN 应该为 VB.NET 解决方案提供什么最佳 SVN 忽略模式?

0 投票
3 回答
1669 浏览

vb.net - What is the best way to wrap time around the work day?

I have a situation where I want to add hours to a date and have the new date wrap around the work-day. I cobbled up a function to determine this new date, but want to make sure that I'm not forgetting anything.

The hours to be added is called "delay". It could easily be a parameter to the function instead.

Please post any suggestions. [VB.NET Warning]

Note: This will probably not work if delay is more than 9 hours long. It should never change from 3, through.

EDIT: The goal is find the date and time that you get as a result of adding several hours to the current time. This is used to determine a default value for a due date of a submission. I want to add 3 hours to the current time to get the due date time. However, I don't want due dates that go beyond 5pm on the current day. So, I tried to have the hours split between (today, up to 5pm) and (tomorrow, from 8am on), such that adding 3 hours to 4pm would give you 19am, because 1 hour is added to the end of today and 2 hours are added to the beginning of tomorrow.

0 投票
3 回答
130590 浏览

vb.net - 'break' 的等效 VB 关键字

我刚搬到这里工作的 Visual Basic 团队。

Visual Basic中的等效关键字是什么break,即提前退出循环而不是方法?