小编Ron*_*yer的帖子

缺少编译器需要成员'microsoft.csharp.runtimebinder.binder.convert'

我第一次使用Excel用Selenium WebDriver读取c#中的数据,但是当我构建这段代码时,会弹出一个错误:

"缺少编译器需要成员'microsoft.csharp.runtimebinder.binder.convert'"

使用excel的代码用红色标记:

 excel.Application x1Appl = new excel.Application();
 excel.Workbook x1WorkBook = x1Appl.Workbooks.Open(@"C:\app\o\SearchBy.xlsx");

 excel._Worksheet x1WorkSheet = x1WorkBook.Sheets[1];
Run Code Online (Sandbox Code Playgroud)

请让我知道缺少什么?谢谢!

c# excel

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

使用 StringComparer 反序列化 JSON 字典

我正在尝试序列化/反序列化字典,问题是我用StringComparer.OrdinalIgnoreCase比较器创建了字典。

这是我遇到的问题的代码片段:

var dict = new Dictionary<string, Dictionary<string, string>>(StringComparer.OrdinalIgnoreCase);

dict["x"] = new Dictionary<string, string>();
dict["x"]["y"] = "something";

var serialized = JsonConvert.SerializeObject(dict);

var unSerialized = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, string>>>(serialized);

Console.WriteLine((dict.Comparer == unSerialized.Comparer ? "Same" : "Different"));
Run Code Online (Sandbox Code Playgroud)

( .NET Fiddle - 试试看)

在控制台打印出以下内容:

Different

显然,JSON 序列化器不会序列化我在创建字典时设置的比较器,但问题是我无法在事后设置比较器,因为它Dictionary<TKey, TValue>.Comparer是只读的。

我确定它与一些自定义有关,JsonSerializerSetting但我似乎无法弄清楚如何拦截集合创建并返回具有不同比较器的字典。

c# dictionary desktop-application json.net

11
推荐指数
3
解决办法
2513
查看次数

在Unity中,当我实现Update()以及来自MonoBehaviour的其他消息时,究竟是怎么回事

我是C#的新手,来自Java,python和一些"网络"东西的强大背景.所以我可能只是缺少一些知识,希望有人可以为我填写.

通过Unity Scripting API,我注意到很多方法,列在"消息"下,这是我的第一个困惑点."消息"和"方法"之间究竟有什么区别,对我来说,他们看起来是相同的,但术语却让我失望.

我的第二个困惑点是,当我在派生类中实现像Update()这样的"Message"时,我不必使用override关键字.哪个是烦我的,因为我不会只是隐藏它吗?在这种情况下,更新循环不会只知道MonoBehaviour而不是我的派生类,并在MonoBehaviour中调用Update()而不是我的类吗?这让我陷入了困境.我很有趣这是在幕后发生的事情?

我和Unity以及C#相处得很好,这对我来说只是一个难点,我觉得我缺少一些知识.

c# game-engine unity-game-engine

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

Unity3d - 在线多人回合

抱歉我的英语语法:((我尝试学习它)

我想尝试用Unity3d编写在线回合制游戏。我希望人们可以使用他们的用户名和密码登录,并且可以从不同的设备玩游戏,例如:1 个来自 android/iphone 的玩家,第二个来自 facebook 或 1 个来自网络 - 第二个来自平板电脑等......现在我想创建游戏1 vs 1(2名玩家)-但也许在这个功能中我会打开一种新的多人游戏模式

纸牌游戏很简单。

我是 C# 开发人员,所以我将使用 C# 编写代码。

我的问题是:

1)我必须在基于回合的游戏中使用什么(如果你能给我链接)我认为WCF或WebAPI - 对于跨平台 那么什么是最佳实践???

2) 我想在游戏中集成一项高级功能 - 您对游戏内的计费系统有何建议?去哪家公司工作比较好?

3)我也可以在 JavaScript 上编写代码 - 如果这能给我带来性能上的提升?

4) 游戏中的授权:当今的最佳实践是什么?用户已在我的系统中创建帐户,或者更好地让用户使用他的 Facebook 帐户登录?

5)如何同步。移动设备和 Facebook 游戏之间?如果可以吗?我可以在哪里保存他的凭据?如果在手机/平板电脑中,我可以保存在本地数据库、网络中 - cookie 中?脸书在哪里??

6) 服务器 - 发布服务器端的最佳位置在哪里?亚马逊云?或不??

c# iphone android unity-game-engine

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

List <object>删除超过某个索引的对象(以及执行此操作的速度)

我将一堆网址存储在列表中,预计会有很多(最多约3,000,000,更常见的是50,000到200,000).

我需要做的一个例子:

ListOfStrings


    [0]www.google.ca  
    [1]www.yahoo.com  
    [2]www.wikipedia.com  
    [3]www.youtube.com  
    [4]www.gmail.com  
    [5]www.stackoverflow.com  
    [6]www.steam.com  
    [7]www.microsoft.com  
    [8]www.ebay.com  

我需要删除所有字符串[5].我应该创建一个循环吗?

while (ListOfStrings.Count>5)
{
    ListOfStrings[6].Remove
}
Run Code Online (Sandbox Code Playgroud)

或者有更快的方法吗?(我想可能会使用.GetRange(0, ListOfStrings.IndexOf())但是最多需要删除25个字符串,因此我不确定哪个字符串更有效率)

我也需要做反向(在Entry [5]之前的所有内容)只有我需要删除更多的字符串,而不是25最大.它将更像是50,000次删除.

c# list

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

使用"where"关键字将通用候选者限制为一个类,这也是一个通用的

假设我有一个系列

public class TimeSeries<T,K>
Run Code Online (Sandbox Code Playgroud)

我想构建一个具有可以存储TimeSeries为元素的列表成员的类,所以我使用:

public class TimeSeriesSet<M> where M: TimeSeries<T, K>
Run Code Online (Sandbox Code Playgroud)

我想知道什么是正确的语法?

c# generics

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

带宽限制

如何通过 webClient.DownloadFile 方法使用限制?这是我的代码

WebClient webClient = new WebClient();
webClient.DownloadFile(new Uri("http://127.0.0.1/basic.xml"), "D:/basic.xml");
Run Code Online (Sandbox Code Playgroud)

.net c#

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

C#get和Thread类只工作两次,我不知道确切

namespace LEDServer
{

    public class Weather
    {
        string weathervalue, weatherexplain, temperature;
        int temp;
        public void DoWork()
        {
            while (!_shouldStop)
            {
                try
                {
                    getWeather();
                }
                catch (Exception e)
                {
                }
                Thread.Sleep(5000);

            }
            Console.WriteLine("worker thread: terminating gracefully.");
        }
        public void RequestStop()
        {
            _shouldStop = true;
        }
        // Volatile is used as hint to the compiler that this data
        // member will be accessed by multiple threads.
        private volatile bool _shouldStop;

        public static void startgetWeather()
        {
            Weather weather = new Weather();
            Thread workerThread …
Run Code Online (Sandbox Code Playgroud)

c# api multithreading asyncsocket

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