小编jsm*_*ith的帖子

为什么LinqPad创建Fields而不是Properties?

我最近开展了一个为LinqPad创建工具的项目,该工具将查询结果转储为CSV格式,以便在大型数据库上使用该工具以获得快速结果.我想从工具中得到的一件事是它能够在Visual Studio和LinqPad中工作.因此,如果我在VS2010或LinqPad中使用LinqtoSQL,我可以将结果快速转储到csv文件,然后将其打开到Excel中以查看结果.

该项目中最大的问题来自于LinqPad如何构建他们的DataContexts以及Visual Studio如何构建他们的DataContexts.关于LinqPad如何做到的最好的信息来自这里.基本上我从我的项目中发现,VS2010为他们的DataContexts创建属性,但LinqPad创建了Fields.因此在使用反射时:

LinqPad:

dataContextType.GetProperties() //returns 0
dataContextType.GetFields() //returns the Fields from LinqPad created DataContext
Run Code Online (Sandbox Code Playgroud)

VS 2010 LinqToSQL:

dataContextType.GetProperties() //returns the Properties from VS created DataContext
dataContextType.GetFields() //returns 0
Run Code Online (Sandbox Code Playgroud)

那么为什么LinqPad在他们的DataContexts中使用Fields而不是Properties?复制Visual Studio LinqToSQL模式不是更可行吗?

更新

根据评论,我决定在LinqPad论坛中提出同样的问题.

reflection field properties linqpad linq-to-sql

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

为什么我必须在三元表达式中对int进行类型转换?

可能重复:
条件运算符无法隐式转换?

我遇到了一种奇怪的情况,想知道我为什么要这样做.我正在使用.NET 3.5.

这有效:

short foo;

if (isValid)
    foo = -1;
else
    foo = getFoo();
Run Code Online (Sandbox Code Playgroud)

这不起作用:

short foo;
foo = isValid ? -1 : getFoo();
Run Code Online (Sandbox Code Playgroud)

我必须打字-1:

short foo;
foo = isValid ? (short)-1 : getFoo();
Run Code Online (Sandbox Code Playgroud)

三元表达式有何不同?它认为-1是一个需要被转换为short的int.但为什么?

c# casting ternary-operator boolean-expression

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

在指定网卡上接收udp报文c#

我有3个不同的网卡,每个网卡都有自己的责任.其中两个卡正在从类似设备(直接插入每个单独的网卡)接收数据包,该设备在同一端口上发送数据.我需要知道他们来自哪个设备的数据包.

鉴于我不需要指定发送数据包的设备的IP地址,我该如何监听给定的网卡?如果需要,我可以为所有3个nics指定静态IP地址.

示例:nic1 = 169.254.0.27,nic2 = 169.254.0.28,nic3 = 169.254.0.29

现在我有这个从nic1和nic2接收数据而不知道它来自哪个设备.

var myClient = new UdpClient(2000) //Port is random example

var endPoint = new IPEndPoint(IPAddress.Any, 0):

while (!finished)
{
    byte[] receivedBytes = myClient.Receive(ref endPoint);
    doStuff(receivedBytes);
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法以允许我从其中一个设备捕获数据包的方式指定网卡的静态IP地址.如何才能将这些数据包与他们在两个不同网卡上传入的知识分开?

谢谢.

c# nic udp udpclient

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

System.IO与VisualBasic.FileIO

我通常使用C#开发,并且非常习惯使用System.IO.我最近跑过FileIO库,发现一些优点(例如将项目发送到回收站)非常好.特别是在我目前正在进行的计划中.我的问题是,System.IO是否执行VisualBasic.FileIO?

我正在编写的程序将把TB的信息复制到服务器塔上.由于我使用的库,我想确保我不会丢失任何时间.

先感谢您!!!

.net c# vb.net file-io

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

从OleDb数据库读取/写入DataTable LINQ

我目前的项目是从一个OleDbDatabase和.CSV文件中获取信息并将其全部放入更大的文件中OleDbDatabase.

我已阅读目前在我从两个.CSV文件需要的所有信息,并OleDbDatabase进入DataTables....凡有越来越多毛正在写的所有的信息反馈给另一个OleDbDatabase.

现在我当前的方法是做这样的事情:

    OleDbTransaction myTransaction = null;

    try
    {
        OleDbConnection conn = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;" +
                                                   "Data Source=" + Database);
        conn.Open();
        OleDbCommand command = conn.CreateCommand();
        string strSQL;

        command.Transaction = myTransaction;

        strSQL = "Insert into TABLE " +
                 "(FirstName, LastName) values ('" +
                 FirstName + "', '" + LastName + "')";

        command.CommandType = CommandType.Text;
        command.CommandText = strSQL;

        command.ExecuteNonQuery();

        conn.close();

    catch (Exception)
        {
            // IF invalid data is entered, rolls back the database
            myTransaction.Rollback();
        } …
Run Code Online (Sandbox Code Playgroud)

linq oledb datatable insert

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

使用LINQ在运行时查询数据的工具

越来越多我使用LINQ越来越多我真的很喜欢它,它的语法.我每天都进行大量的数据比较.我真正喜欢的是一个允许我加载DataSet,然后在运行时使用LINQ查询查询该DataSet的工具.我主要只想要一个工具,并能够动态加载我的DataSet.

这样的事情存在吗?我不认为LINQ最初是用于这种类型的使用,但我觉得它是一个强大的工具,如果它存在.

c# linq runtime

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