小编Tam*_*ege的帖子

C#输出参数性能

出来的参数C#有任何性能影响我应该知道的?(像例外)

我的意思是,out在循环中使用一个参数的方法是一个好主意,每秒运行几百万次?

我知道它很丑,但我使用它的方式与Int32.TryParse使用它们相同- 返回一个bool告诉我是否有一些验证是成功的,并且如果成功则有一个out包含一些额外数据的参数.

c# parameters out

21
推荐指数
3
解决办法
1万
查看次数

在只有选择的事务中,提交和回滚之间是否存在差异?

我们在公司使用的内部应用程序框架使得必须将每个SQL查询都放入事务中,即使我知道没有任何命令会在数据库中进行更改.在会话结束时,在关闭连接之前,我提交事务以正确关闭它.我想知道如果我把它卷回来是否有任何特别的区别,特别是在速度方面.

请注意我使用的是Oracle,但我猜其他数据库也有类似的行为.此外,我无法对开始交易的要求做任何事情,代码库的那部分不在我手中.

sql oracle transactions commit rollback

20
推荐指数
2
解决办法
9924
查看次数

JVM将内存发送回OS

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

java jvm memory-management

19
推荐指数
2
解决办法
1万
查看次数

xkill等效于Windows

是否有可靠的xkill for Windows?

对于那些不知道xkill是什么的人:它是一个Unix工具,它基本上会杀死你点击的任何窗口的进程.

可以在此处下载Windows端口.

windows

17
推荐指数
3
解决办法
1万
查看次数

JQuery UI对话框 - *对话框不是函数*错误

我正在使用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)

有人可以解释为什么会这样吗?

jquery jquery-ui jquery-ui-dialog

17
推荐指数
1
解决办法
6万
查看次数

System.Drawing在Windows或ASP.NET服务中

根据MSDN,在Windows服务或ASP.NET服务中使用System.Drawing命名空间中的类并不是一个特别好的主意.现在我正在开发一个类库,它可能需要访问这个特定的命名空间(用于测量字体),但不能保证主机进程不是服务.

现在有一个不太理想的方法,如果System.Drawing不可用,我可以回退,但如果可行的话,我宁愿在System.Drawing中使用类.所以我想要做的是在runtume确定System.Drawing是否安全,如果是,请使用它,否则回到次优选项.

我的问题是:我怎么可能检测System.Drawing是否可以安全使用?

我想我应该

  • 检测当前进程是Windows服务还是ASP.NET服务
  • 检测GDI是否可用
  • 或者,如果可以安全使用,可能有办法询问System.Drawing.dll本身

不幸的是,我无法想出一种方法来实现任何这些方法.有谁有想法吗?

.net c# system.drawing windows-services

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

从GUID获取类型

由于各种原因,我需要在C#中实现类型缓存机制.幸运的是,CLR提供Type.GUID了唯一标识类型.不幸的是,我找不到任何方法来查找基于此GUID的类型.有Type.GetTypeFromCLSID(),但根据我的文档(和实验)的理解是,做了非常,非常不同.

是否有任何方法可以获得基于其GUID的类型,而不是循环遍历所有已加载的类型并与其GUID进行比较?

编辑:我忘了提到我真的很喜欢固定宽度的"类型指纹",这就是为什么GUID对我这么有吸引力.当然,在一般情况下,该类型的完全限定名称可以使用.

.net c# reflection types

12
推荐指数
3
解决办法
7699
查看次数

C#到C#,方便的语言功能

我想了解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#?

.net c#

11
推荐指数
5
解决办法
1231
查看次数

单个图像文件,用于存储页面上的所有小图像

在最近的一个Stackoverflow播客中,Jeff谈到了一个单独的图像文件,其中包含遍布整个页面的所有小图像,然后使用CSS剪切它,以便正确显示所有图像.重点是减少服务器请求的数量,以便更快地加载页面.我就像"哇,真的很酷,我真的可以在我们的产品中使用它".

我的问题是:如何用CSS完成这项工作?我需要用背景图像加载图像,但是如何指定大图像中子图像的偏移?也就是说,假设大图像中有一个锤子图标(50px,50px),并且它的大小为32px*32px,我怎么能强制浏览器只显示那个位?

html css css-sprites

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

金属中的多个模型.怎么样?

这是一个绝对的初学者问题.

背景:我不是真正的游戏开发者,但我正在尝试学习低级3D编程的基础知识,因为它是一个有趣而有趣的话题.我选择Apple的Metal作为图形框架.我了解SceneKit和其他更高级别的框架,但我有意尝试学习低级别的部分.不幸的是,我已经超出了我的范围,并且网上似乎很少有面向初学者的金属资源.

通过阅读Apple文档并按照我能找到的教程,我设法实现了一个简单的顶点着色器和片段着色器,并在屏幕上绘制了一个真实的3D模型.现在我正在尝试绘制第二个模型,但我有点卡住了,因为我不确定什么是最好的方法.

我......

  • 对我的所有模型使用单个顶点缓冲区和索引缓冲区,并在渲染单个模型时告诉MTLRenderCommandEncoder偏移量?
  • 为每个模型都有一个单独的顶点缓冲区/索引缓冲区?这种方法会扩大规模吗?
  • 别的什么?

TL; DR:在Metal(或任何其他3D框架)中存储多个模型的顶点数据的推荐方法是什么?

metal

9
推荐指数
2
解决办法
1293
查看次数