小编Sky*_*kyN的帖子

Dictionary.ContainsKey返回False,但想要True

namespace Dic
{
public class Key
{
    string name;
    public Key(string n) { name = n; }
}

class Program
{
    static string Test()
    {
        Key a = new Key("A");
        Key b = new Key("A");
        System.Collections.Generic.Dictionary<Key, int> d = new System.Collections.Generic.Dictionary<Key, int>();
        d.Add(a, 1);
        return d.ContainsKey(b).ToString();
    }

    static void Main(string[] args)
    {
        System.Console.WriteLine(Test());
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我应该改变什么才能成真?

.net c# dictionary

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

如何将委托转换为相同的委托?

委托有两种描述:第一种是在第三方程序集中:

public delegate void ClickMenuItem (object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)

二,标准:

public delegate void EventHandler (object sender, EventArgs e);
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个接收EventHandler类型参数的方法,并使用参数ClickMenuItem调用第三方库.

如何将ClickMenuItem转换为EventHandler?

c# delegates type-conversion

18
推荐指数
3
解决办法
5858
查看次数

如何将十六进制字符串转换为字节数组,以及十六进制字符串中的字节数组?

以下代码过程bytes = parseHexString(createHexString(bytes))导致更新字节,我想避免.结果计算不正确.

<html>
<head>
<SCRIPT SRC="http://eu.static.mega.co.nz/sjcl_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/crypto_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/rsa_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/hex_1.js"></SCRIPT>
<SCRIPT>
function parseHexString(str) { 
    var result = [];
    while (str.length >= 2) { 
        result.push(parseInt(str.substring(0, 2), 16));
        str = str.substring(2, str.length);
    }

    return result;
}

function createHexString(arr) {
    var result = "";
    for (i in arr) {
        var str = arr[i].toString(16);
        str = str.length == 0 ? "00" :
              str.length == 1 ? "0" + str : 
              str.length == 2 ? str :
              str.substring(str.length-2, …
Run Code Online (Sandbox Code Playgroud)

javascript arrays string hex

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

如何获得正确的电报频道ID?

  • 如果我得到user_id,通过contacts.resolveUsername#bf0131c字符串搜索channel,然后我得到user_id = 0x0827ac18

如果发送给messages.getFullChat#3b831c66,则收到错误PEER_ID_INVALID.

如果发送if users.getFullUser#ca30a5b1,那么我得到错误USER_ID_INVALID.

  • 如果我搜索字符串channel使用contacts.search#11f812d8,然后我得到两个用户使用用户名ChannelBotChannel_Bot,但与用户或频道名没有得到channel.

  1. 如何获取使用的频道ID messages.getFullChat#3b831c66
  2. 怎么得到chat_id名字?

telegram

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

为什么一个项目(exe)在同一个解决方案中没有看到另一个项目(dll)的命名空间?

为什么一个项目(exe)在同一个解决方案中没有看到另一个项目(dll)的命名空间?

c#

7
推荐指数
2
解决办法
1034
查看次数

RSA解密,仅使用D,P,Q,U参数(GnuPG)

我有一个RSA私钥,它只包含D,P,Q,U参数.

键符号http://www.gnupg.org/documentation/manuals/gcrypt/RSA-key-parameters.html

JavaScript进行解密

<html>
<head>
<SCRIPT SRC="http://eu.static.mega.co.nz/crypto_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/rsa_1.js"></SCRIPT>
<SCRIPT SRC="http://eu.static.mega.co.nz/hex_1.js"></SCRIPT>
<SCRIPT>
function t()
{
// hex2s - conversion functions: hex to string
// mpi2b - conversion functions: num array <-> multi precision integer (mpi) mpi: 2 octets with length in bits + octets in big endian order
    t = mpi2b(hex2s('080043e8950c95dbc8fdea8fd39dfbc65f4ff31ee4824d8e8ceabdf45cbb928b29863e80154b656f04510e983810889f5d12cee85369743db65b0b54949ff5320c9ed98f3bb6b12a2c26e16a1b8414955034c0ed35b21e9bbc58d8447db85f9c760057656bb3a7b5c80726d287b5bc312525bff7864ba2dc2c627cd50e3d752cd585cb301d327f209974e29ddcd1ac51e99209f1d1f96c9fef5ef810b32a54555b5d7cc69c2a107d717744b5167a8962ca08aaac717768e8235795b21dcd186ba348317e685f07f9a2cac14089242b6edb989c8818054de2f69de34653c3e2d8b70947278f44a8995eb5c3568460dbe8e7a1cf31466556454703b045cef1c61e8d09'));   
    p = mpi2b(hex2s('04009868b3fea798829975abd91d27982462b66aced52f1472f243dadbf9e2e551388bb55750764cfc6ff5b89345285c0faa18924ee392f729d7980a6e1f62bff79584eee9e23d23d53a5034198b44dce9791eb367243a9ec6973eb09b574b65c4156a999fdf48770035c488efc568ad80b5dc73e9ca6c67bf9f09bdb31d175f25e5'));
    q = mpi2b(hex2s('0400d8ff209b2a325f66deee452e11b0306e7bc21dd99cdb8d175c8a08973f8b105b51a7a95b38d09ce72bf81178fbc902b3da791490d80bb0b6a8fa5e1c08636c57be45dbcc7b8c0da95390974f07456da5ca522f126b29b5226047432889482d983eb57679fe4e8d90aef2e06d8dbd0b6fa280b69ffddbd9c16bcd5f5569cef1f1'));
    d = mpi2b(hex2s('07fd1e65b3aa438c9cb5ea6b14590d32945f907d1fb6053541e3c250b5a60b67a477e5bfd2e79d0d4bdb6bde9403ab908723aeee25bfe69665fecc028c2fe4df2c51c8579235cc25f888055dc1da529017c4f4e38b95486b036345bb4c03f75b37c305002916a7f2ffe7a03b1b72bb7836560d556627b7bfff9357cdc73e6ed790f3bf79c6cd0fcd98ef2d96e369e780b3b213d3a5b7df8a373585bda0d22da00f7737ecf59ec0fc68056e65eda05c5940fbb3109d97db8ff135b472117467ec47620736b9e39a70723f33d59dea5a98d18bae8c89aa1be77daf692f5407c8433bd0b85cc13de12e7f8b85d27b147e2e8e337fc1157b0cb76ef90e479b5059ba27f1'));
    u = mpi2b(hex2s('03fe233721f3bda1e05d44de087b67749f4daafe02af79c183b2f41e040b6364a870c0896b84073de0fc1b7b2faee9100a250773282b6d9d935d30c1db2c7ef3daa017519dbb8d94edd32bde9ee0d460cb09d782b88f11552b810a595f6d26d12c38ee74c36d830b9d496947eeb878e6459b120bf747a28761926094797a4a5c9b68'));

    sid = base64urlencode(b2s(RSAdecrypt(t,d,p,q,u)).substr(0,43));

    if (sid=='tajetAbW0qTQGFlwp8iD5lQ0TFV1QUZJZFVvjRX7Xx-bPzYBoau7qog09w')
        console.log("Decrypting work");
}
</script>
</head>
<body onload="t();" />
</html>
Run Code Online (Sandbox Code Playgroud)

我找到了BouncyCastle库,并为RSAParameters计算了所有参数.但我无法解密数据.我在方法RSACryptoServiceProvider.ImportParameters中 …

c# rsa gnupg

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

interface inheritance without hiding

If I write class, then all ok

class C
{
    protected int _attr;
    int attr { get { return _attr; } }
}

class CWithSet : C
{
    int attr { set { _attr = value; } }
}
Run Code Online (Sandbox Code Playgroud)

But, if I write interface

interface I
{
    int attr { get; }
}

interface IWithSet : I
{
    int attr { set; }
}
Run Code Online (Sandbox Code Playgroud)

then I have warring: "'IWithSet.attr' hides inherited member 'I.attr'. Use the new keyword if hiding was …

c#

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

如何在.Net中加密AES/ECB/128消息?

从该网站获取向量http://www.inconteam.com/software-development/41-encryption/55-aes-test-vectors#aes-ecb-128

在 javascript (sjcl) 中具有相同的结果

var key = [0x2b7e1516,0x28aed2a6,0xabf71588,0x09cf4f3c];
var test  = [0x6bc1bee2,0x2e409f96,0xe93d7e11,0x7393172a];
aes = new sjcl.cipher.aes(key);
r = aes.encrypt(test);
console.log(r);
Run Code Online (Sandbox Code Playgroud)

但我无法在 C# 中达到它

    [TestMethod]
    public void EncryptIntsToInts()
    {
        Int32[] key = { unchecked((Int32)0x2b7e1516), 0x28aed2a6, unchecked((Int32)0xabf71588), 0x09cf4f3c };
        Int32[] test = { 0x6bc1bee2,0x2e409f96,unchecked((Int32)0xe93d7e11),0x7393172a };
        Int32[] answer = { 0x3ad77bb4, 0x0d7a3660, unchecked((Int32)0xa89ecaf3), 0x2466ef97 };

        var r = AES.EncryptIntsToInts(test, key.ToByteArray());

        Assert.IsTrue(r.SequenceEqual(answer));
    }


    static byte[] zeroIV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

c# encryption aes

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

当我设置 observable 时,mobx-react 观察者不会触发

我正在尝试使用 mobx 和 typescript 创建一个反应应用程序。但它不起作用。

我希望计时器可以计算秒数。我看到事件发生并更新了计数器。但该组件不会重新渲染。我究竟做错了什么?

import React from "react";
import { observable, action } from "mobx";
import { observer, inject, Provider } from "mobx-react";

export class TestStore {
    @observable timer = 0;

    @action timerInc = () => {
        this.timer += 1;
    };
}

interface IPropsTestComp {
    TestStore?: TestStore;
}

@inject("TestStore")
@observer
export class TestComp extends React.Component<IPropsTestComp> {
    constructor(props: IPropsTestComp) {
        super(props);
        setInterval(() => {
            this.props.TestStore!.timerInc();
        }, 1000);
    }

    render() {
        return <div>{this.props.TestStore!.timer}</div>;
    }
}

export class TestApp extends React.Component …
Run Code Online (Sandbox Code Playgroud)

typescript ecmascript-6 reactjs mobx

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

在窗口中找出精确度为1ms的最快方法是什么?

对绝对时间感兴趣,而不是衡量持续时间的方法.

Win32 API

C++

c++ windows winapi

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

如何在没有构造函数和静态方法的情况下描述c#接口?

我想为单身人士创建界面.但是接口不能禁止公共构造函数和描述静态方法.如何解决这个问题呢?

c#

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

错误:List <int>没有'System.Collections.Generic.IEnumerable <int>的匹配项

如何用列表实现接口成员"f"?

public interface I
{
    IEnumerable<int> f { get; set; }
}

public class C:I
{
    public List<int> f { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

错误1'ClassLibrary1.C'未实现接口成员'ClassLibrary1.I.f'.'ClassLibrary1.Cf'无法实现'ClassLibrary1.If',因为它没有匹配的返回类型'System.Collections.Generic.IEnumerable'.c:\ users\admin\documents\visual studio 2010\Projects\ClassLibrary1\Class1.cs

c# interface-implementation

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