Tag: vb.net

C#中固定长度的字符串或结构

我需要创建一个结构或一系列字符串,这些字符串是我正在处理的项目的固定长度。 目前它是用COBOL编写的,是一种通信应用程序。 它通过网络发送一个固定长度的记录,并收回一个固定长度的记录。 我想把它写成一个简单的结构,但到目前为止,我发现的最好的方法是使用string.padright将字符串终止符放在正确的位置。 我可以编写一个封装它的类并返回一个固定长度的字符串,但我希望找到一种简单的方法来填充结构并将其用作固定长度的记录。 编辑 – 固定长度记录用作URL中的参数,因此其http:\ somewebsite.com \ parseme?record =“firstname lastname address city state zip”。 我很确定我不必担心ascii转换为unicode,因为它在url中。 它比这大一点,传递的信息多于地址,大约30或35个字段。

VB中的“Financial.Pmt”等同于C#?

Microsoft.VisualBasic程序集中有一个内置函数。 我可以在VB中使用它,如下所示: Financial.Pmt((dAPR / 100) / 12, iNumberOfPayments, dLoanAmount) * -1 我目前的项目是C#,我需要使用这个function。 网上的答案说只是添加命名空间和程序集并在C#中使用相同的 – 但这不是真的! C#仍然无法识别此公式。 那么如何在C#中使用Financial.Pmt(或者甚至可能将源代码移植到它)? 谢谢你的帮助。

显示对象的引用值

在C ++中,显示指向对象的指针的实际值非常简单。 例如: void* p = new CSomething(); cout << p; 有没有办法在.NET中做这样的事情? 这样做的价值只能是教育性的,例如为了示范的目的,就像为学生展示价值而不仅仅是比较参考相等或无效(无)来certificate浅层副本,不变性等。

如何从Win32 DLL或OCX中提取GUID

我们有一个.NET应用程序需要检查可能包含COM库(DLL和OCX)的文件夹。当我们遇到COM库时,我们需要完成的一件事是从COM DLL或OCX中提取GUID。 在没有使用第三方库的情况下,有没有直接的方法使用.NET?

在c#中生成PDF后自动打印?

我正在开发一个计费应用程序,在该项目中我需要生成一个PDF,因为我使用’iTextSharp.dll’来生成pdf。 它工作正常。 生成PDF后,我需要自动打印该PDF文件而无需任何操作。 我的PDF生成代码如下: PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(“d:\\Bill1.pdf”, FileMode.Create)); document.Open(); document.Add(table1); document.close();

我如何翻译newButton.Click + = delegate {window.IsOpen = false; }; 在vb.net中

我怎么翻译 newButton.Click += delegate { window.IsOpen = false; }; 在vb.net中

VB.Net与C#“As New WebControl”的区别

我正在重构一些代码,其中一部分包括将它从VB.Net转移到C#。 旧代码声明了这样的成员: Protected viewMode As New WebControl 新代码,我最终得到了工作,像这样: protected WebControl _viewMode = new WebControl(HtmlTextWriterTag.Span); 我可以假设New关键字意味着:调用构造函数! 但是VB.Net如何调用我在C#中无法调用的构造函数(无参数)?

正则表达式以匹配进程参数

我有这个字符串: Process.exe /Switch=Value /Switch=”C:\Path with spaces\file.txt” wrong argument 我想捕捉这些部分: · 1st Match: Process.exe · 2nd Match: /Switch=Value · 3rd Match: /Switch=”C:\Path with spaces\file.txt” · 4th Match: wrong · 5th Match: argument 正则表达式需要用于通用(具有真实参数的过程),不仅适用于这种情况。 这就是我想要的: Dim DebugArguments As String = “HotkeyMaker.exe /Hotkey=Escape /run=””c:\folder with spaces\notepad.exe””” For Each match As Match In Regex.Matches(DebugArguments, “([^\s]+[^””])”) MsgBox(match.Value) Next match

什么时候需要dispose()的规则是什么?

虽然我已经编写了一段时间,但我真的只是进入了我所谓的中级编码器。 所以我理解dispose()的原理,即释放为变量和/或资源保留的内存。 我也发现有时使用EF我必须dispose()以便其他操作正常工作。 我不明白的只是需要发布的内容,何时使用dispose()。 例如,我们不处理像字符串,整数或布尔值这样的变量。 但是在某个地方我们越过“一条线”,我们使用的变量和/或资源需要被处理掉。 我不明白这条线在哪里。 在知道何时使用dispose()时,是否有一个原则或几个广泛的原则适用? 我读了这些SOpost( 具体情况 , 更多关于如何而不是何时 )但我不觉得我理解何时使用dispose()的基础知识。 我看到一条评论询问当变量超出范围时是否释放内存,这引起了我的注意,因为直到我看到响应为否,它才会因为超出范围而被释放,我会想到当它超出范围时它会被释放。 我不想成为第二个链接中的一个人称为“无能的开发者”,虽然我认为这有点苛刻。 我们中的一些人还在学习。 所以这就是为什么我的问题是“什么时候确定需要处置?”? 我的问题不再那么多, 何时 。 当然评论如何有用,但即使调用dispose()的方法是一个Using语句,我仍然需要知道何时。 编辑原始问题:我知道这是一个很长的解释, 标记为重复的评论笔记请求,这不是一个咆哮,我只是不知道如何确保我把焦点放在我的精确问题上。 很多时候,我们只是匆匆走过我们问的方式。 正如我在这篇长篇文章的最后提到的那样,在我们专注于我的问题之后,我将编辑所有这些,假设我们到达那里。 根据我所读到的内容,我认为这是一个重要的问题。 提议的“答案”post是一篇很棒的post,但并没有真正回答我的问题。 CodeNotFound下面的评论也提供了一个很好的链接,但它也没有真正回答我的问题。 我提供了有关这些post的评论,试图帮助完善我的确切问题: 我什么时候应该在.NET中处理我的对象? :第一个答案以评论开头 一次性对象表示持有CLR本质上不知道的有价值资源的对象。 不幸的是,我不明白“ 一次性对象…… CLR本质上没有意识到 ”这一术语包括在内。 这就是我的要求。 我怎么知道某件事是否属于我必须处理的范畴? 我们一直在代码中定义要使用的东西。 我们什么时候越线,它成为我需要处置的对象()? 顺便说一句,我注意到那篇文章的作者从未标出答案。 我不知道这是否意味着他不觉得这个问题得到了回答,或者他的跟进是否很差,但我希望我能够提炼一点我希望了解的内容。 当你仔细研究答案时,他们并没有真正解决哪些对象需要开发人员处理它们的问题,或者我如何知道如何识别哪些对象。 我只是不知道我创建的对象或事物需要我负责处理。 而且我认为GC和其他条款发挥作用,但同样,这就是如何 。 显而易见的是,大多数经验丰富的专业开发人员都知道他们创建的东西何时需要被处理掉。 我不明白怎么知道。 正确使用IDisposable界面 :显然是一个流行的答案(1681 upvotes),但明确的答案开始于 Dispose的目的是释放非托管资源“。 好的,但我的问题是如何通过查看它是非托管资源的东西来了解? 我不明白下面的注释如何适用于需要处理的内容。 如果你在.NET框架中找到它,那么它就是托管的 […]

是否有代码模板/设计模式,我可以在对鼠标点击或按下按钮做出反应时使用?

我经常在Winforms应用程序中看到的一个问题是,当一个长时间运行的任务正在运行时,GUI线程会被卡住,或者只是停止刷新(是的,我知道 – 需要线程)。 是否有代码模板/设计模式,我可以在对鼠标点击或按下按钮做出反应时使用? 是否应该在GUI应用程序中始终运行处理线程? 基本上,我如何编写一个易于维护且没有任何奇怪的刷新错误的优秀Winforms应用程序?