小编neg*_*ble的帖子

防止重复列表<T>条目

我希望我能够解决这个问题,但是我无法理解为什么这段代码无法正常运行并允许将重复的条目添加到List中.

if声明条件从未谋面,甚至当我在拖地从相同位置相同的文件.我不明白为什么"包含"方法不匹配它们.

public class Form1:Form {
    private List<FileInfo> dragDropFiles = new List<FileInfo>();

    private void Form1_DragDrop(object sender, DragEventArgs e) {
        try {
            if (e.Data.GetDataPresent(DataFormats.FileDrop)) {
                string[] files =
                    (string[])e.Data.GetData(DataFormats.FileDrop);

                OutputDragDrop(files);
            }
        }
        catch { }
    }

    private void Form1_DragEnter(object sender, DragEventArgs e) {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
            e.Effect = DragDropEffects.Copy;
        else
            e.Effect = DragDropEffects.None;
    }

    private void OutputDragDrop(string[] files) {
        try {
            foreach (string file in files) {
                FileInfo fileInfo = new FileInfo(file);

                if (dragDropFiles.Contains(fileInfo)) {
                    dragDropFiles.Remove(fileInfo);
                }
                dragDropFiles.Add(fileInfo);
            }
            PopulateContextMenu(); …
Run Code Online (Sandbox Code Playgroud)

c# collections list duplicates

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

混合模式程序集是针对旧版本的运行时构建的,如果没有其他配置,则无法加载

我无法在我的Windows 7工作站上构建一个由前员工编写的项目.它在他使用的旧XP机器上工作得非常好,我有一个精确的副本.

错误1混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载.C:\ Working\Scan\v2.5.9.99\ConfigurationTool\ConfigurationTool\SGEN ConfigurationTool

我已经搜索了此错误消息的解决方案,但我发现所提供的解决方案无法解决问题:(

这是我的配置文件启动的方式,useLegacyV2RuntimeActivationPolicy已经存在.

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
    <requiredRuntime version="v4.0.20506"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了每个建议的组合以及完整版和客户端版本的不同配置文件,如此线程中所述没有结果.

在.NET 4.0项目中引用.NET 2.0混合模式程序集需要什么"附加配置"?

有没有人得到修复或任何想法可能导致不同机器上的副本之间的差异?

.net c# c#-4.0

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

C#多播示例

有人可以为我写字面意思,这样我就可以理解演员是如何进行的吗?括号的数量让我感到困惑.

(Dictionary<String, String>)((Object[])e.Result)[1];

只能找到简单的演员样例搜索(可能意味着我正在寻找错误的东西),这些都不是很有用.

.net c# casting

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

无法应用运算符&&

我正在测试一个示例片段,我发现它是另一个问题的答案

然而,编译器正在吐出这个"运算符&&不能应用于long和bool类型的操作数".为什么这样做?当我阅读代码时,它会说"如果掩码和权限大于0则返回成功bool"

我读错了吗?

(另外,没有人把它称为一个坏的例子,所以我期望它能够工作.不是说我是一个复制粘贴编码器)

bool CheckMask( long Mask, long TestPermission ) {
    return Mask && TestPermission > 0;
}

long mask = 4611686844973976575;

const long MASK_ViewListItems = 0x0000000000000001;
bool HasPermission_ViewListItems = CheckMask(mask, MASK_ViewListItems);
// HasPermission_ViewListItems is true

const long MASK_UseClientIntegration = 0x0000001000000000;
bool HasPermission_UseClientIntegration = CheckMask(mask, MASK_UseClientIntegration);
// HasPermission_UseClientIntegration is false
Run Code Online (Sandbox Code Playgroud)

StackOverflow上有很多类似的问题,我点击了大部分内容,在我输入时,我的右边有一个很大的列表.没有适用于我的情况,至少我能够看到答案和我的问题之间的关系.

.net c#

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

标签 统计

c# ×4

.net ×3

c#-4.0 ×1

casting ×1

collections ×1

duplicates ×1

list ×1