小编Nap*_*eon的帖子

C#Lambda =>生成垃圾吗?

使用lambda表达式是否会为与正常foreach循环相对的GC生成垃圾?

// Lambda version
Foos.ForEach(f=>f.Update(gameTime));

// Normal approach:
foreach (Foo f in Foos)
{
  f.Update(gameTime);
}
Run Code Online (Sandbox Code Playgroud)

CLR分析器显示我有69.9%system.Action <T>并且我怀疑是如上所述的foreach循环的lamba版本.真的吗?

编辑:我使用Microsoft CLR分析器:http://download.microsoft.com/download/4/4/2/442d67c7-a1c1-4884-9715-803a7b485b82/clr%20profiler.exehttp://msdn.microsoft .COM/EN-US /库/ ff650691.aspx

c# linq garbage

24
推荐指数
1
解决办法
8525
查看次数

C#Logitech G19 SDK入门?

有没有人有关于如何使用Logitech G19键盘SDK与Visual Studio 2010和C#进行LCD编程的示例,教程或链接?我找不到C#的任何地方.

c# keyboard lcd visual-studio-2010 logitech

6
推荐指数
0
解决办法
9235
查看次数

安全擦除目录

我知道如何在C#中擦除文件,包括它的扇区等.

但是如何覆盖目录呢?

示例:@"C:\mydirectory\"必须永远不可恢复(所有文件内部已经被擦除),以便无法恢复目录结构或其名称.

-------------------下面更新(评论格式是如此麻烦,所以我在这里发布)---

对于文件删除,我查找分区的簇和区段大小,并使用5种不同的算法将其覆盖至少40次,其中最后一种算法始终是随机算法.数据实际上每次都写入磁盘(而不仅仅是内存或其他东西).唯一的风险是,当我擦除某些东西时,理论上可以更改该文件磁盘上的物理地址.我知道的唯一解决方案是在擦除文件后擦除可用磁盘空间,并希望当前没有其他文件部分保留擦除文件的旧物理位置.或者Windows不做这样的事情?

http://www.sans.org/reading_room/whitepapers/incident/secure-file-deletion-fact-fiction_631指出:

"重要的是要注意一致认为,覆盖数据只会降低数据被恢复的可能性.数据被覆盖的次数越多,恢复数据的成本和成本就越高.事实上,Peter Guttman说:"它是通过简单地覆盖存储位置,无论有多少覆盖传递或写入什么数据模式,都无法对存储位置进行消毒."3使用磁力显微镜可以恢复覆盖数据,这可以处理硬盘上的成像磁化模式磁盘.如何实现这一目标的实际细节超出了本文的范围."

我个人认为,当我使用不同的(可能是未知的)算法覆盖100次以上的数据时(如果没有像交换文件那样留在其他地方的数据副本),那将需要任何非常昂贵的专业团队多年才能获得这些数据.如果他们确实在那些年后获得了数据,那么他们应该得到它我认为......那一定是一个终生的项目.

所以:

  • 擦除未使用的数据:使用密码(http://support.microsoft.com/kb/315672)或用4GB文件填充硬盘或使用橡皮擦命令行可执行文件.
  • 擦除交换文件:?
  • 擦坏行业:?
  • 擦目录:使用橡皮擦(如Teoman Soygul所述)
  • 我们怎么知道我们覆盖了实际的物理地址?
  • 擦除最近使用的文件和Windows日志文件当然应该是任何程序员的蛋糕:)
  • 橡皮擦解决了上述大部分问题,但无法擦除页面文件.因此,任何取证都会在任何时刻找到这些交换文件中的数据.
  • AFAIK橡皮擦不会擦除文件分配表.但我不确定.

然后结论应该是:(几乎)不可能在C#中安全擦除?

c# security directory cryptography delete-file

5
推荐指数
1
解决办法
1950
查看次数

找到2点之间的限制点

  • 我有点A的坐标和另一个点(如B,C或D).
  • 我也有A和另一点之间的距离.
  • 我知道A和另一个点之间允许的最大距离(用紫色线和虚线圆圈表示).
  • 问题:如何找到红点的坐标(B1或C1或D1).
  • 示例:A =( - 1,1),E =(3,-8),最大允许距离= 4.点E1的坐标是多少?

这是问题的图像: 问题

注意:我发现其他2个非常相似或相同的问题,但我无法解决这些问题: 找到两点之间点的坐标?

如何仅使用段的部分长度找到形成段的2个点之间的点?

PS这不是家庭作业我需要这个编程问题,但我忘了我的数学......

c# xna vector

4
推荐指数
1
解决办法
636
查看次数

Drupal 7 - 以编程方式上传图像

我想在自定义模块中上传图像.必要时,必须永久保存并重命名图像.后来我希望能够在我的表格或我想要的任何地方显示图像.

我目前的代码:

function my_module_name_new_form()
{
 ....

$form['icon'] = array
(
    '#type' => 'file',
    '#title' => t('Icon'),
    '#description' => t('Click "Chose File" to select an image to upload.')
);

 ....
}
Run Code Online (Sandbox Code Playgroud)

在提交钩子我有:

// Icon
$filename = $form_state['values']['icon'];
$dest = file_build_uri($filename); 
file_save_data('My data', $dest, FILE_EXISTS_RENAME); 
Run Code Online (Sandbox Code Playgroud)

没有任何事情发生......我找不到任何与Drupal 7.x兼容的模块,这些模块在某种程度上使这里的生活变得更轻松.

解:

//----------------------------
// Icon
//----------------------------  
$dest_dir = file_default_scheme() . '://';// Note: file_directory_path() was removed in Drupal 7.x. // $dest_dir contains the destination directory for the file. 

$validators = array('file_validate_extensions' => array('jpg png gif'));

//Save file …
Run Code Online (Sandbox Code Playgroud)

upload drupal image file

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

C#Nullable值类型生成垃圾?

Nullable值类型是否会生成垃圾?例如:结构不是在堆上创建的,而是在堆栈上创建的,因为它是一个值类型.但是当该结构可以为空时,它仍然是值类型并仍然在堆栈上创建吗?

我问这个问题是因为我需要一个不会产生垃圾的可以为空的结构.

c# struct garbage-collection nullable

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

带有枚举值的C#Propertygrid组合框(Win Forms)

public enum eVisualType
{
    None = 0, Torch = 1, Rune01, Rune02, Rune03, FireRed01,
    LaserBlackWhiteLeft, LaserBlackWhiteRight, LaserBlueRedLeft, LaserBlueRedRight,
    Wheel01, Wheel01a, Wheel02, BlinkingStar, MovingPillar
}

public class EnumTypeConverter : TypeConverter
{
    public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
    {
        return true; // True means show a combobox
    }
    public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
    {
        return true; // True will limit to list. false will show the list, but allow free-formentry
    }
}

public class VisualTypeConverter : EnumTypeConverter
{
    public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) …
Run Code Online (Sandbox Code Playgroud)

c# forms windows propertygrid enums

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

从字符串获取第一行(不处理整个字符串)

我知道

my_str.split("\n").first 
Run Code Online (Sandbox Code Playgroud)

给了我字符串的第一行.

但遗憾的是,将整个字符串切割成一个数组.如果那个字符串的大小是几MB,那么我只需要前5行......那就是一个更好的选择.我可以编写自己的方法来逐个字符处理字符串,但可能有一些更好的方法,甚至是内置的方法,我需要什么?

ruby string split

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

C#byte []到List <bool>

从bool []到byte []:将bool []转换为byte []

但我需要将byte []转换为List,其中列表中的第一项是LSB.

我尝试了下面的代码但是当转换为字节并再次回到bools时,我有两个完全不同的结果...:

public List<bool> Bits = new List<bool>();


    public ToBools(byte[] values)
    {
        foreach (byte aByte in values)
        {
            for (int i = 0; i < 7; i++)
            {
                Bits.Add(aByte.GetBit(i));
            }
        }
    }



    public static bool GetBit(this byte b, int index)
    {
        if (b == 0)
            return false;

        BitArray ba = b.Byte2BitArray();
        return ba[index];
    }
Run Code Online (Sandbox Code Playgroud)

c# byte boolean steganography

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

如何在课程中获得所有自定义方法?

module Test
  class A
    def hi
      p 'hi'
    end

    def bye
      p 'bye'
    end

    puts methods.sort
    p '---------'
    puts methods.sort - Object.methods
  end
end
Run Code Online (Sandbox Code Playgroud)

第二个puts不打印任何东西,第一个不打印'hi'和'bye'.为什么?

ruby methods

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

Setter无法使用 - =,+ =等?

我不明白为什么我得到一个零错误.我正确地创建了setter.但它不接受 - =,+ =,或者它自身在=运算符后面.为什么?

class Test
  def var; @var || 0; end
  def var=(value)
    @var = value
  end

  def initialize
    @var = 2.4 # Sample value
  end

  def test
    puts var
    var -= 1 # <<< crash: undefined method for nil class
    puts var
    var = var - 1 # <<< crash: undefined method for nil class
    puts var
  end
end

a = Test.new
a.test
Run Code Online (Sandbox Code Playgroud)

ruby

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

具有范围值的数组?

a = [1, 2, 3..9, 10, 15, 20..43]
print a.include?(5) # Returns false
Run Code Online (Sandbox Code Playgroud)

我期待它返回true,但3..9不会被翻译[3,4,5,6,7,8,9].

我错过了一些愚蠢的东西,但我无法弄清楚.基本上我想用常规fixnums和范围初始化它.

ruby arrays range

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

C#Normalize(像向量)

移动物体中的代码:

ObjectX.Location.Add(Velocity * Utils.GetMoveDir(start, destination));
Run Code Online (Sandbox Code Playgroud)

实用功能:

    public static PointF GetMoveDir(PointF start, PointF destination)
    {
        PointF substraction = destination.SubStract(start);
        if (substraction == PointF.Empty) // If-statement is needed because normalizing a zero value results in a NaN value
            return PointF.Empty;
        else
            return substraction.Normalize(); // <<<< I need something for this
    }
Run Code Online (Sandbox Code Playgroud)

扩展我无法工作:

    public static PointF Normalize(this PointF A)
    {
        throw new NotImplementedException(); // How do I solve this to make it like: http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.vector2.normalize.aspx
    }
Run Code Online (Sandbox Code Playgroud)

请注意,我不使用XNA框架.

c# vector normalize

0
推荐指数
2
解决办法
9868
查看次数