Tag: c#

混淆If Statement?

我总是使用If语句(在C#中)作为(1. Alternative); if (IsSuccessed == true) { // } 我知道没有必要写“== true”作为(2. Alternative)); if (IsSuccessed) { // } 但是,我使用它是因为它更具可读性并且不会导致性能问题。 当然,这是我的选择,我知道许多软件开发人员更喜欢第一种选择。 什么是最佳用法,为什么?

如何以编程方式实现正常Windows打印队列’假脱机文件’的假脱机文件标题的编辑,然后才能将其发送到打印机?

如何在执行打印作业期间将此文件发送到打印机之前,如何拦截和更改Windows 7打印假脱机文件(.SPL)以在标题中添加一些附加信息,如’@PJL SET NAME =“PainPoint”’ 从顶部开始的.SPL文件部分提取是: %-12345X@PJL SET STRINGCODESET=UTF8 @PJL COMMENT DATE=02/08/2017 @PJL ENTER LANGUAGE=PCLXL ) HP-PCL XL;2;1;FXXPL2-1.0.0,WINNT-6.1,XPL2DRV-6.9.1.1 ?X???……..

数组内存分配 – 分页

不确定Java,C#和C ++的答案是否相同,所以我对它们进行了分类。 所有语言的答案都会很好。 我一直在思考的所有日子,如果我分配数组,所有单元格都将位于一个连续的空间中。 因此,如果系统中没有足够的内存,则会出现内存不足exception。 没事,我说的是什么? 或者是否有可能,分配的数组将被分页?

Java和C#类属性

Java本身是否支持C#等属性? 或者在使用Java进行编码时,在尝试封装变量时,您是否受到getVariable()和setVariable()方法的约束? 谢谢

垃圾收集操作

有人可以解释我垃圾收集是如何工作的吗? (我正在使用C#和Java)。

CLR / JVM是否为所有正在运行的.net / java应用程序保留一个单一的实习池?

以下是MSDN的摘录: 公共语言运行库通过维护一个名为intern pool的表来保存字符串存储,该表包含对程序中以编程方式声明或创建的每个唯一文字字符串的单个引用。 因此,具有特定值的文字字符串实例仅在系统中存在一次。 例如,如果将相同的文字字符串分配给多个变量,则运行时将从实习池中检索对文字字符串的相同引用,并将其分配给每个变量。 Intern方法使用实习池来搜索等于str值的字符串。 如果存在此类字符串,则返回其在实习池中的引用。 如果该字符串不存在,则将对str的引用添加到实习池中,然后返回该引用。 ….如果您正在尝试减少应用程序分配的内存总量,请记住,实习字符串有两个不需要的副作用。 首先,在公共语言运行时(CLR)终止之前,不太可能释放为被占用的String对象分配的内存。 那么,这是否意味着CLR为所有正在运行的.net应用程序保留一个单一的实习池? 示例:如果程序A创建字符串文字“Test”,并且如果另一个程序尝试创建另一个字符串文字“Test”,则使用相同的副本? 同样的问题也适用于JVM。

你能否将浮点值精确地与零进行比较?

我知道我们无法使用==来比较2个浮点值。 我们只能比较它们是否在彼此的某个区间内。 我知道 if(val == 0.512) 由于浮点计算和转换为二进制所固有的错误而错误,应该是错误的 if (val in (0.512-epsilon, 0.512+epsilon)) 但是0特别吗? 我们可以将浮点数精确地比较为0吗? 甚至那是不正确的? 特别是在C#和Java的上下文中? double val = 0; val = getVal(); if(val == 0)

你应该在Java / C#中使用国际标识符吗?

C#和Java几乎允许在类名,方法名,局部变量等中使用任何字符。使用非ASCII字符,测试不良编辑器和分析工具的界限并使某些人难以阅读是不好的做法,还是美国的傲慢是反对的唯一论据?

C#SignedCms的Java实现

我正在使用Java实现C#SignedCmsfunction。 我正在使用bouncycastle libs。 问题是我获得的java签名与使用SignedCms生成的签名不同。 C#代码 X509Certificate2 certificate = new X509Certificate2(“myCertPath”, “myPass”); String text = “text”; ContentInfo contentInfo = new ContentInfo(System.Text.Encoding.UTF8.GetBytes(text)); SignedCms cms = new SignedCms(contentInfo, false); CmsSigner signer = new CmsSigner(certificate); signer.IncludeOption = X509IncludeOption.None; signer.DigestAlgorithm = new Oid(“SHA1”); cms.ComputeSignature(signer, false); byte[] signature = cms.Encode(); print(signature); Java代码 Security.addProvider(new BouncyCastleProvider()); char[] password = “myPass”.toCharArray(); String text = […]

如何在C#中使用WebDriver获取指定元素的屏幕截图

我的小项目是用Java编写的,我需要用C#重写它。 它差不多完成了,但我仍然坚持使用Selenium webdriver获取元素的截图。 我用下一种方式在Java中做到了: public String saveImage(){ String src = “”; try{ File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); BufferedImage fullImg = ImageIO.read(screenshot); Point point = elementToScreent.getLocation(); int eleWidth = elementToScreent.getSize().getWidth(); int eleHeight = elementToScreent.getSize().getHeight(); BufferedImage eleScreenshot= fullImg.getSubimage(point.getX(), point.getY(), eleWidth, eleHeight); ImageIO.write(eleScreenshot, “png”, screenshot); src = path + System.currentTimeMillis() +”.png”; FileUtils.copyFile(screenshot, new File(src)); }catch(Exception e){ e.printstacktrace(); } return […]