小编Dr.*_*ail的帖子

输入int吗?vs类型int

我的比较结果false符合预期

bool eq = typeof(int?).Equals(typeof(int));
Run Code Online (Sandbox Code Playgroud)

现在我有这个代码

List<object> items = new List<object>() { (int?)123 };
int result = items.OfType<int>().FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

但这会返回123-无论如何该值是类型int?

怎么会这样?

c# casting

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

检测两个字符串之间的差异

我有2个字符串

string a = "foo bar";
string b = "bar foo";
Run Code Online (Sandbox Code Playgroud)

我想从检测的变化 ab.我有什么角色改变,从中获取ab

我认为必须对每个字符进行迭代,并检测它是否被添加,删除或保持相等.所以这是我的表达结果

'f' Remove
'o' Remove
'o' Remove
' ' Remove
'b' Equal
'a' Equal
'r' Equal
' ' Add
'f' Add
'o' Add
'o' Add
Run Code Online (Sandbox Code Playgroud)

结果的类和枚举:

public enum Operation { Add,Equal,Remove };
public class Difference
{
    public Operation op { get; set; }
    public char c { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的解决方案,但"删除"案例对我来说并不清楚代码的外观

public static List<Difference> CalculateDifferences(string left, string right) …
Run Code Online (Sandbox Code Playgroud)

c# string algorithm

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

ToCharArray和ToArray之间的区别

ToCharArray和之间有什么区别ToArray

string mystring = "abcdef";

char[] items1 = mystring.ToCharArray();
char[] items2 = mystring.ToArray();
Run Code Online (Sandbox Code Playgroud)

结果似乎是一样的.

c# arrays string

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

解决链计算的最快方法

我有一个输入

string input = "14 + 2 * 32 / 60 + 43 - 7 + 3 - 1 + 0 * 7 + 87 - 32 / 34"; 
// up to 10MB string size

int result = Calc(input); // 11
Run Code Online (Sandbox Code Playgroud)
  • 计算从左到右,按数字计算
  • 数字是0到99
  • 除了之前乘法被忽略,以便14 + 2 * 32512
  • 可能的计算是 +-*/
  • 划分后0是不可能的,所以一个/不能成为一个0

我的方法

public static int Calc(string sInput)
{
    int iCurrent = sInput.IndexOf(' ');
    int iResult = int.Parse(sInput.Substring(0, iCurrent));
    int iNext = 0; …
Run Code Online (Sandbox Code Playgroud)

c# performance

15
推荐指数
3
解决办法
2174
查看次数

ASP.NET结束标记

当我在我的.aspx应用程序中使用VisualStudio 2010中的自动完成时,关闭控件标记有不同的默认完成:

<asp:CheckBox /> 
<asp:Label></asp:Label>
Run Code Online (Sandbox Code Playgroud)

这种行为有解释吗?

<asp:CheckBox></asp:CheckBox>
<asp:Label />
Run Code Online (Sandbox Code Playgroud)

不会无效.

asp.net webforms visual-studio

10
推荐指数
3
解决办法
718
查看次数

界面铸造

我有一些课程,我无法改变.他们有一个Prop3共同的属性:

public class c1
{
    public  string Prop1 { get; set; }
    public  string Prop2 { get; set; }
    public  string Prop3 { get; set; }
}

public class c2
{
    public  string Prop2 { get; set; }
    public  string Prop3 { get; set; }
}

public class c3
{
    public  string Prop5 { get; set; }
    public  string Prop3 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在我想在不知道类型的情况下访问此属性.我想过使用一个接口:

public interface ic
{
    string Prop3 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是此代码抛出了无效的强制转换异常: …

c# interface

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

按位操作到List <bool>

我有一个List<bool>想要按位XOR列表(创建校验位)

这就是我目前所拥有的

List<bool> bList = new List<bool>(){true,false,true,true,true,false,false};
bool bResult = bList[0];

for( int i = 1;i< bList.Count;i++)
{
    bResult ^= bList[i];
}
Run Code Online (Sandbox Code Playgroud)

问:有没有一个Linq单线来解决这个更优雅?

c# linq list

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

使用关键字作为变量名

为什么第一行编译而第二行不编译?

string var = "123";

var string = "123";
Run Code Online (Sandbox Code Playgroud)

我的意思是string并且var应该是两个关键字..

.net c#

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

按索引获取数组项

我有两个数组,一个是值,一个是索引

int[] items = { 1, 2, 3, 7, 8, 9, 13, 16, 19, 23, 25, 26, 29, 31, 35, 36, 39, 45 };
int[] indices = { 1, 3, 5, 6, 7, 9 };
Run Code Online (Sandbox Code Playgroud)

现在我想要一个由数组items索引选择的结果indices数组

// 2, 7, 9, 13, 19
int[] result = new []{ items[1], items[3], items[5], items[6], items[7], items[9] }; 
Run Code Online (Sandbox Code Playgroud)

问题:对此有更通用的方法吗?

c# arrays

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

SqlDataAdapter.Fill() 与 DataTable.Load()

我来自这里的这个问题,但我有一个不同的案例。我需要我的结果DataTable,我有两种可能的方法:

public static DataTable SelectDataTable(string query, string ConnectionString)
{       
    using (SqlConnection myConnection = new SqlConnection(ConnectionString))
    {
        using (SqlDataAdapter myDataAdapter = new SqlDataAdapter(query, myConnection))
        {
            DataTable dt = new DataTable();
            myDataAdapter.Fill(dt);
            return dt;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

public static DataTable SelectDataTable(string query, string ConnectionString)
{
    using (SqlConnection myConnection = new SqlConnection(ConnectionString))
    {
        using (SqlCommand cmd = new SqlCommand(query, myConnection))
        {
            myConnection.Open();
            DataTable dt = new DataTable();
            dt.Load(cmd.ExecuteReader(CommandBehavior.CloseConnection));
            return dt;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:两者之间有区别吗

SqlDataAdapter+Fill() 和 …

c# sql sqldatareader sqldataadapter

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