小编Luk*_*don的帖子

动态变量如何影响性能?

我对dynamicC#的性能有疑问.我读过dynamic让编译器再次运行,但是它做了什么?

是否必须dynamic使用用作参数的变量或仅具有动态行为/上下文的行重新编译整个方法?

我注意到使用dynamic变量可以将简单的for循环减慢2个数量级.

我玩过的代码:

internal class Sum2
{
    public int intSum;
}

internal class Sum
{
    public dynamic DynSum;
    public int intSum;
}

class Program
{
    private const int ITERATIONS = 1000000;

    static void Main(string[] args)
    {
        var stopwatch = new Stopwatch();
        dynamic param = new Object();
        DynamicSum(stopwatch);
        SumInt(stopwatch);
        SumInt(stopwatch, param);
        Sum(stopwatch);

        DynamicSum(stopwatch);
        SumInt(stopwatch);
        SumInt(stopwatch, param);
        Sum(stopwatch);

        Console.ReadKey();
    }

    private static void Sum(Stopwatch stopwatch)
    {
        var sum = 0;
        stopwatch.Reset();
        stopwatch.Start();
        for …
Run Code Online (Sandbox Code Playgroud)

c# performance dynamic

119
推荐指数
2
解决办法
4万
查看次数

WPF中的填充(左,上,右,下)

我想要的是一个带有一点左右填充的按钮.我可以将MinWidth设置为某​​个val,但如果内容将被更改,则可能还不够.

 <Button MinWidth="75" Padding="2" Content="It speaks!" />
Run Code Online (Sandbox Code Playgroud)

是否有可能在WPF中模拟像Padding.left/right这样的东西?

c# wpf padding

31
推荐指数
2
解决办法
4万
查看次数

如何只读取文件的第一行

我已经谷歌搜索了一段时间,但我找不到一个函数读取文件的第一行.

我需要读取文本文件的第一行并从中提取日期.

新的perl.

perl file readline

31
推荐指数
2
解决办法
5万
查看次数

List :::运算符和++之间的区别

scala :::++operator 之间有什么区别?根据文件,行为是一样的.

scala list operators

23
推荐指数
2
解决办法
6889
查看次数

快速CSV解析

我有一个java服务器应用程序,下载CSV文件并解析它.解析可能需要5到45分钟,并且每小时发生一次.这种方法是应用程序的瓶颈,因此它不是过早的优化.到目前为止的代码:

        client.executeMethod(method);
        InputStream in = method.getResponseBodyAsStream(); // this is http stream

        String line;
        String[] record;

        reader = new BufferedReader(new InputStreamReader(in), 65536);

        try {
            // read the header line
            line = reader.readLine();
            // some code
            while ((line = reader.readLine()) != null) {
                 // more code

                 line = line.replaceAll("\"\"", "\"NULL\"");

                 // Now remove all of the quotes
                 line = line.replaceAll("\"", "");     


                 if (!line.startsWith("ERROR"){
                   //bla bla 
                    continue;
                 }

                 record = line.split(",");
                 //more error handling
                 // build the object and put it in HashMap …
Run Code Online (Sandbox Code Playgroud)

java csv parsing

15
推荐指数
4
解决办法
2万
查看次数

在Go中读取CSV文件

我正在学习Go.以下是读取CSV文件的代码段:

func parseLocation(file string) (map[string]Point, error) {
    f, err := os.Open(file)
    defer f.Close()
    if err != nil {
        return nil, err
    }
    lines, err := csv.NewReader(f).ReadAll()
    if err != nil {
        return nil, err
    }
    locations := make(map[string]Point)
    for _, line := range lines {
        name := line[0]
        lat, laterr := strconv.ParseFloat(line[1], 64)
        if laterr != nil {
            return nil, laterr
        }
        lon, lonerr := strconv.ParseFloat(line[2], 64)
        if lonerr != nil {
            return nil, lonerr
        }
        locations[name] = Point{lat, lon} …
Run Code Online (Sandbox Code Playgroud)

go

15
推荐指数
4
解决办法
2万
查看次数

将有向无环图(DAG)转换为树

我正在尝试实现algoritm将Directed Acyclic Graph转换为Tree(为了好玩,学习,kata,命名它).所以我想出了数据结构Node:

DAG到树

/// <summary>
/// Represeting a node in DAG or Tree
/// </summary>
/// <typeparam name="T">Value of the node</typeparam>
public class Node<T> 
{
    /// <summary>
    /// creats a node with no child nodes
    /// </summary>
    /// <param name="value">Value of the node</param>
    public Node(T value)
    {
        Value = value;
        ChildNodes = new List<Node<T>>();
    }

    /// <summary>
    /// Creates a node with given value and copy the collection of child nodes
    /// </summary>
    /// <param name="value">value of the node</param>
    /// …
Run Code Online (Sandbox Code Playgroud)

c# tree recursion directed-acyclic-graphs data-structures

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

构建平衡的二叉搜索树

有没有一种方法来构建平衡的二叉搜索树?

例:

1 2 3 4 5 6 7 8 9

       5
      / \
     3   etc
    / \
   2   4
  /
 1
Run Code Online (Sandbox Code Playgroud)

我想有一种方法可以做到这一点,而不使用更复杂的自平衡树.否则我可以自己做,但有人可能已经这样做了:)


谢谢你的回答!这是最后的python代码:

def _buildTree(self, keys):
    if not keys:
        return None

    middle = len(keys) // 2

    return Node(
        key=keys[middle],
        left=self._buildTree(keys[:middle]),
        right=self._buildTree(keys[middle + 1:])
        )
Run Code Online (Sandbox Code Playgroud)

c# python binary-tree

10
推荐指数
2
解决办法
9970
查看次数

.Net函数调用的性能(C#F#)VS C++

由于F#2.0已经成为VS2010的一部分,我对F#感兴趣.我想知道使用它有什么意义.我读了一下,我做了一个测量函数调用的基准.我用过Ackermann的函数:)

C#

sealed class Program
{
    public static int ackermann(int m, int n)
    {
        if (m == 0)
            return n + 1;
        if (m > 0 && n == 0)
        {
            return ackermann(m - 1, 1);
        }
        if (m > 0 && n > 0)
        {
            return ackermann(m - 1, ackermann(m, n - 1));
        }
        return 0;
    }

    static void Main(string[] args)
    {

        Stopwatch stopWatch = new Stopwatch();

        stopWatch.Start();
        Console.WriteLine("C# ackermann(3,10) = " + Program.ackermann(3, 10));
        stopWatch.Stop();

        Console.WriteLine("Time required for …
Run Code Online (Sandbox Code Playgroud)

.net c# c++ f# stopwatch

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

最有用的用户定义聚合函数

你有没有实现的聚合函数,因为标准函数不够好?

sql aggregate-functions

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