做出来的参数C#有任何性能影响我应该知道的?(像例外)
我的意思是,out在循环中使用一个参数的方法是一个好主意,每秒运行几百万次?
我知道它很丑,但我使用它的方式与Int32.TryParse使用它们相同- 返回一个bool告诉我是否有一些验证是成功的,并且如果成功则有一个out包含一些额外数据的参数.
我们在公司使用的内部应用程序框架使得必须将每个SQL查询都放入事务中,即使我知道没有任何命令会在数据库中进行更改.在会话结束时,在关闭连接之前,我提交事务以正确关闭它.我想知道如果我把它卷回来是否有任何特别的区别,特别是在速度方面.
请注意我使用的是Oracle,但我猜其他数据库也有类似的行为.此外,我无法对开始交易的要求做任何事情,代码库的那部分不在我手中.
我有一个关于JVM内存管理的问题(至少对于SUN的内存管理问题).
我想知道如何控制JVM将未使用的内存发送回操作系统(在我的情况下为Windows)这一事实.
我写了一个简单的java程序来说明我的期望.使用-Dcom.sun.management.jmxremote选项运行它,以便您也可以使用jconsole监视堆.
使用以下程序:
package fr.brouillard.jvm;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.List;
public class MemoryFree {
private BufferedReader reader = new BufferedReader(new
InputStreamReader(System.in));
private List<byte[]> usedMemory = new LinkedList<byte[]>();
private int totalMB = 0;
private int gcTimes = 0;
public void allocate(int howManyMB) {
usedMemory.add(new byte[howManyMB * 1024 * 1024]);
totalMB += howManyMB;
System.out.println(howManyMB + "MB allocated, total allocated: " +
totalMB + "MB");
}
public void free() {
usedMemory.clear();
}
public void gc() {
System.gc(); …Run Code Online (Sandbox Code Playgroud) 我正在使用pinax开发一个网站.在我的一个模板中,我试图打开一个简单的jquery对话框.但是我一直得到"Dialog not a function"javascript错误.我使用的是jquery 1.2.6和jquery-ui 1.6.我的javascript和HTML如下:
<html>
<head>
<link type="text/css" href="/site_media/smoothness/ui.all.css" rel="stylesheet" />
<script src="/site_media/jquery.js" type="text/javascript"></script>
<script src="/site_media/ui/ui.core.js" type="text/javascript"></script>
<script src="/site_media/ui/ui.draggable.js" type="text/javascript"></script>
<script src="/site_media/ui/ui.resizeable.js" type="text/javascript"></script>
<script src="/site_media/ui/ui.dialog.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#dialogbox').dialog();
});
</script>
</head>
<body>
<div id="dialogbox" title="dialog title">
<p>Test dialog</p>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会这样吗?
根据MSDN,在Windows服务或ASP.NET服务中使用System.Drawing命名空间中的类并不是一个特别好的主意.现在我正在开发一个类库,它可能需要访问这个特定的命名空间(用于测量字体),但不能保证主机进程不是服务.
现在有一个不太理想的方法,如果System.Drawing不可用,我可以回退,但如果可行的话,我宁愿在System.Drawing中使用类.所以我想要做的是在runtume确定System.Drawing是否安全,如果是,请使用它,否则回到次优选项.
我的问题是:我怎么可能检测System.Drawing是否可以安全使用?
我想我应该
不幸的是,我无法想出一种方法来实现任何这些方法.有谁有想法吗?
由于各种原因,我需要在C#中实现类型缓存机制.幸运的是,CLR提供Type.GUID了唯一标识类型.不幸的是,我找不到任何方法来查找基于此GUID的类型.有Type.GetTypeFromCLSID(),但根据我的文档(和实验)的理解是,做了非常,非常不同.
是否有任何方法可以获得基于其GUID的类型,而不是循环遍历所有已加载的类型并与其GUID进行比较?
编辑:我忘了提到我真的很喜欢固定宽度的"类型指纹",这就是为什么GUID对我这么有吸引力.当然,在一般情况下,该类型的完全限定名称可以使用.
我想了解C#的所有便利功能,以及它们如何映射到C#.
例如,自动属性:
public string Foo { get; set; }
Run Code Online (Sandbox Code Playgroud)
...映射到这样的东西:
string <Foo>k__BackingField;
[CompilerGenerated]
public string Foo {
get { return this.<Foo>k__BackingField; }
set { this.<Foo>k__BackingField = value; }
}
Run Code Online (Sandbox Code Playgroud)
Foreach循环:
foreach(char c in "Hello") {
Console.WriteLine(c);
}
Run Code Online (Sandbox Code Playgroud)
......映射到这样的东西(我想):
CharEnumerator en;
try {
en = "Hello".GetEnumerator();
while (en.MoveNext()) {
char c = en.Current;
Console.WriteLine(c);
}
} finally {
IDisposable disp = en as IDisposable;
if (disp != null)
disp.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
foreach在处理非托管资源时,处理枚举器非常有用,例如循环文件中的行或数据库中的记录.
我认为对这些高级功能的良好理解可以帮助我们编写更好的代码.C#的其他便利功能有哪些?它们如何映射到C#?
在最近的一个Stackoverflow播客中,Jeff谈到了一个单独的图像文件,其中包含遍布整个页面的所有小图像,然后使用CSS剪切它,以便正确显示所有图像.重点是减少服务器请求的数量,以便更快地加载页面.我就像"哇,真的很酷,我真的可以在我们的产品中使用它".
我的问题是:如何用CSS完成这项工作?我需要用背景图像加载图像,但是如何指定大图像中子图像的偏移?也就是说,假设大图像中有一个锤子图标(50px,50px),并且它的大小为32px*32px,我怎么能强制浏览器只显示那个位?
背景:我不是真正的游戏开发者,但我正在尝试学习低级3D编程的基础知识,因为它是一个有趣而有趣的话题.我选择Apple的Metal作为图形框架.我了解SceneKit和其他更高级别的框架,但我有意尝试学习低级别的部分.不幸的是,我已经超出了我的范围,并且网上似乎很少有面向初学者的金属资源.
通过阅读Apple文档并按照我能找到的教程,我设法实现了一个简单的顶点着色器和片段着色器,并在屏幕上绘制了一个真实的3D模型.现在我正在尝试绘制第二个模型,但我有点卡住了,因为我不确定什么是最好的方法.
我......
TL; DR:在Metal(或任何其他3D框架)中存储多个模型的顶点数据的推荐方法是什么?
c# ×4
.net ×3
commit ×1
css ×1
css-sprites ×1
html ×1
java ×1
jquery ×1
jquery-ui ×1
jvm ×1
metal ×1
oracle ×1
out ×1
parameters ×1
reflection ×1
rollback ×1
sql ×1
transactions ×1
types ×1
windows ×1