小编LLS*_*LLS的帖子

XAML文件如何与cs文件关联?

似乎XAML文件应该在C#项目中具有相应的.cs文件.我知道Visual Studio为我们做了所有事情.我只是好奇他们是如何联系在一起的?我的意思是,它们是在项目文件中指定的,还是仅仅因为它们具有相同的名称?而且,App.xaml文件指定了启动文件,但编译器如何知道?是否可以指定App.xaml以外的其他文件来执行与App.xaml相同的操作?

.net wpf xaml

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

在C#和Java中,Object []和String []之间的关系是什么?

我最近开始考虑这个问题,我找不到答案.以下代码按预期编译和执行

object[] test = new string[12];
Run Code Online (Sandbox Code Playgroud)

但是,我不知道为什么.

我的意思是,我们应该将string []视为object []的派生类吗?我认为在C#中,每个数组都是Array类的一个实例.如果Array是通用的,它应该是Array<T>,并且Array<string>可以分配给Array<object>它,它没有意义.我记得只有界面可以使用输入/输出关键字.

而在Java中,我不确定,但仍然觉得很奇怪.为什么当不具有超子类关系时,可能会为彼此分配不同类型的引用?

有人可以解释一下吗?

非常感谢!

c# java arrays

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

为什么Parallel.Invoke无法完成所有操作?

我在教科书中编写了一个关于C#中并行编程的例子.本书建议Parallel.Invoke可以替换任务的创建,调用和等待.但是,我尝试并发现如果我使用Parallel.Invoke,则在返回值之前任务将无法完成.但理论上,Parallel.Invoke应该总是等待.

代码:

    private byte[] getDataForGraph(int dataSize)
    {
        byte[] data = new byte[dataSize];


        Parallel.Invoke(
            () => Task.Factory.StartNew(() => generateGraphData(data, 0, pixelWidth / 8)),
            () => Task.Factory.StartNew(() => generateGraphData(data, pixelWidth / 8,
                pixelWidth / 4)),
            () => Task.Factory.StartNew(() => generateGraphData(data, pixelWidth / 4,
                pixelWidth * 3 / 8)),
            () => Task.Factory.StartNew(() => generateGraphData(data, pixelWidth * 3 / 8,
                pixelWidth / 2)));

        return data;
    }
Run Code Online (Sandbox Code Playgroud)

以及执行该功能的方式:

Task<byte[]> getDataTask = Task<byte[]>.Factory.StartNew(() => getDataForGraph(dataSize));
byte[] data = getDataTask.Result;
Run Code Online (Sandbox Code Playgroud)

private void generateGraphData(byte[] data, int partitionStart, …

c# task-parallel-library c#-4.0

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

F#异常类型的本质是什么

我正在学习F#,我发现了一个有趣的问题.我们可以使用F#类型异常

exception MyExpetion of string
Run Code Online (Sandbox Code Playgroud)

但是,当我们匹配它时,我们可以使用与匹配区分联合相同的语法.同时,它是一个System.Exception.这是怎么做到的?F#例外的类型是什么?我试图搜索但没有找到明确的答案.谢谢.

f# exception

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

__repr__ 中的函数导致无限递归

我正在学习 Python,并尝试编写以下代码。

class AttributeDisplay:
    '''Display all attributes of a class in __repr__.
    It can be inherited.'''
    def gatherAttributes(self):
        '''Gather all attributes and concatenate them
        as a string'''
        def getAttributeNameAndValue(key):
            return '[%s] - [%s]' % (key, getattr(self, key))
        return '\n'.join((map(getAttributeNameAndValue, sorted(self.__dict__))))

    def __repr__(self):
        '''Print all attributes'''
        attr = self.gatherAttributes() # omitting () results in infinite recursion
        return '[Class: %s]\n%s' % (self.__class__.__name__, attr)
Run Code Online (Sandbox Code Playgroud)

我不小心省略了括号,attr 变成了一个函数而不是一个字符串。但是,当我调用 时print(X),它进入了无限递归。

错误代码如下。

def __repr__(self):
    '''Print all attributes'''
    attr = self.gatherAttributes # omitting () results in …
Run Code Online (Sandbox Code Playgroud)

python recursion repr

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

标签 统计

c# ×2

.net ×1

arrays ×1

c#-4.0 ×1

exception ×1

f# ×1

java ×1

python ×1

recursion ×1

repr ×1

task-parallel-library ×1

wpf ×1

xaml ×1