小编Dan*_*zey的帖子

C#执行速度:等于(==)vs不等于(!=)

我正在试图找出if语句的一些最佳实践.当我需要打开一些相等性,即需要一个if-else结构时,我通常会在"不等于"上写条件.这背后的原因通常是,当一个非成功的结果出现时,指令的数量和它们的复杂性都很低.比较过程有什么不同吗?在等于(==)和不等于(!=)之间的执行时间是否存在差异?

示例(一个相当简单的例子,但总体思路成立):

string myString = "weekend";
if(myString != "weekend")
{
    Console.WriteLine("No fun...!");
}
else
{
    //do a bunch of fun stuff with relatively high complexity
    //can expand over many lines of code
}
Run Code Online (Sandbox Code Playgroud)

如果我改变if-else语句的顺序,执行时间有什么不同吗?

string myString = "weekend";
if(myString == "weekend")
{        
    //do a bunch of fun stuff with relatively high complexity
    //can expand over many lines of code
}
else
{
    Console.WriteLine("No fun...!");
}
Run Code Online (Sandbox Code Playgroud)

c# optimization if-statement

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

解决selenium2打印弹出窗口的问题

我目前正在开发一个程序,在selenium的webdriver和firefox的帮助下,通过域抓取它,在此过程中抓取所有可见文本.(用python编写的程序)

当selenium使用javascript打开页面时,window.print()爬虫正在停止,等待我手动点击出现的弹出窗口中的"关闭".

driver.select_pop_up()在延迟时间之后尝试了这个功能,希望能够在选择窗口后关闭窗口.但是无法选择窗口.

我一直在阅读这个问题,从这个selenium FAQ页面,我几乎得出结论,当我阅读时我必须做一个解决方法:

要解决此问题,您可以使用变通方法(如果存在); 否则您可能必须从自动语料库中排除测试.

我看到的唯一解决方案是不打开包含"打印"一词的链接描述的网页,但我觉得这很难看,并且想听听其他人是否有更好的想法.

显示我的问题示例的代码:

from selenium               import webdriver  
import time

skrivutsiden = 'www.alfkvam.no/index.php?id=4849944&cat=159037&printable=1'
vanligside = 'http://www.google.no'

driver = webdriver.Firefox()

driver.get(vanligside)
driver.get(skrivutsiden)
Run Code Online (Sandbox Code Playgroud)

编辑:

使用prestomanifesto提出的代码,我实际上设法在空的firefox窗口中触发"打印弹出窗口".当代码产生我试图避免的事件时,我认为它首先可能是错误的代码?这是一个错误的结论吗?下面的代码生成了弹出窗口:

from selenium               import webdriver  
import time

driver = webdriver.Firefox()
driver.execute_script("window.print() = function() {}")
Run Code Online (Sandbox Code Playgroud)

重新编辑:

上面的代码触发弹出窗口的原因是因为我得到了错误的javascript - 我写道

"window.print()= function(){}"

代替

"window.print = function(){}"

这并没有解决原始问题,但它解释了第一次编辑中引入的意外弹出窗口.

我道歉前言

重新编辑:

尝试更新解决方案 我找到了这个网站,在那里我看到了以下代码行:

((JavascriptExecutor)m_driver).executeScript("window.confirm = function(msg){return
false;};");
Run Code Online (Sandbox Code Playgroud)

基于此,我尝试了以下无济于事:

driver.execute_script("window.print = function(msg) {return false;};")
Run Code Online (Sandbox Code Playgroud)

javascript python firefox selenium

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

如何将对象类型转换为float,其中object可以是任何类型的数字,如int,long,float,double等

我有对象流,可以是int,short,long,float等数字类型...将它转换为数字的最佳方法是什么.最好的方式可能是某种东西 ToNumber(object oNumber)

// Best magic could be
var number = (somemagic) oNumber;

float operator1 = oNumber is int 
  ? (float)(int)oNumber
  : oNumber is long 
     ? (float)(long)oNumber
     : oNumber is float 
        ? (float)oNumber 
        : (float)(int)oNumber;
Run Code Online (Sandbox Code Playgroud)

假设浮动将能够使所有数字期望加倍

c# casting numbers

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

事件和代表困境

我真的在理解事件和委托的概念.我知道委托是持有方法引用的对象,可以调用具有相同返回类型和参数的方法,但那么究竟是什么事件?

如果我需要使用事件来制作一个简单的计算器,那么我该如何使用它们以便有3个事件:一个可以用于数字,一个用于操作符,另一个用于相等或结果操作.

c# events delegates

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

仅针对主页域从HTTPS重定向到HTTP

由于我已将Firefox更新为14.0.1,因此它会自动将https放入我们在线商店的域中.

我需要一个.htaccess文件的代码,以便当Firefox 14.0.1将其更改为https://www.example.com时,只有初始页面即www.example.com被重定向/强制进入www.example.com

所以只有https://www.example.com才能成为www.example.com

有人知道这个代码吗?

谢谢.

.htaccess https firefox http

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

计算水平轴和两点之间的角度

我需要计算 A 的 x 轴和 B 点之间的角度,其中 A 点是学校,B 点是学生宿舍。我有学校和所有学生的经纬度 所有的角度都将计算在水平轴和 [School, Student] = [A, B] 线段之间。

我在 c# 中尝试过 Math.atan .. 但它计算两点之间的角度而不考虑 x 轴

这个方法对我有帮助吗?!

Cos(alpha) = (Lat B - Lat A) / 距离(AB)

其中 alpha 是我需要找到的角度

谢谢你

c# math map

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

LINQ foreach循环中的System.Linq.Enumerable + d__3a`1 [System.String]错误

我有一个列表,我试图从另一个列表中填充,我想要结合一些数据,并消除一些.

在原始列表中,数据如下所示:

 Id     Text      Description

  1      Apple     Red Delicious
  1      Apple     Green
  1      Apple     Granny 
  2      Tomato    Roma
  2      Tomato    Cherry   
Run Code Online (Sandbox Code Playgroud)

我想在第二个列表中压缩此信息,如下所示:

  Id    Text     Description
  1     Apple    Red Delicious, Green, Granny
  2     Tomato   Roma, Cherry 
Run Code Online (Sandbox Code Playgroud)

我的类对象声明如下:

 [Serializable]
 public class Food
 {
     public int Id { get;set; }
     public string Text { get;set; }
     public string Description { get;set; } 
 }
Run Code Online (Sandbox Code Playgroud)

所以我想循环遍历旧列表,这就是我在代码中尝试这样做的方式:

var ids = oldList.Select(i => i.Id).Distinct(); //get distinct list of ids (e.g. 1,2)
List<Food> newList = ids.Select(i => new …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

在c#中将文本框值存储在数组中

我有一个包含10个TextBoxes和OK按钮的表单.单击确定按钮时.我需要将文本框中的值存储到数组字符串中.

有谁可以帮助我吗?

c# arrays

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

组合框值c急剧变化

怎样才能有一个组合框,其中包含数据库中特定列的所有值.我有一个名为列的列StudentName,我希望有一个组合框,其中包含所有值StudentName.

sql = new SqlConnection(@"Data Source=PC-PC\PC;Initial Catalog=Anbar;Integrated Security=True");
adapter = new SqlDataAdapter("select * from School", sql);
Run Code Online (Sandbox Code Playgroud)

我该怎么办?请提供一些代码以继续这些代码,任何帮助将不胜感激.

c# sql sql-server

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

无法实例化名为UICollectionView的类

" Could not instantiate class named UICollectionView"我是iOS6的新用户,请解释为什么会出现上述错误?

当我尝试 使用此示例UIViewCollectionStoryBoard项目转换为nib 时,我收到此错误

iphone xcode ios ios6 uicollectionview

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

如何从基类访问子类属性

我有以下类的结构:

class A
{
    IEnumerable<int> a;
}

class B:A
{
    IEnumerable<int> b;
}

class C:B
{
    IEnumerable<int> c;
}

class D:C
{
    IEnumerable<int> d;
}

class E
{
    static void Main()
    {
        A a = new A();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想从创建的对象a访问所有字段a,b,c,d.有可能这样做吗?

此外,可能存在此继承树可能增长的情况.那么我应该如何处理这个问题,即a能够访问新类的字段而不需要在将来进行任何代码更改.

c# inheritance

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