小编lum*_*ck4的帖子

元组==混乱

假设我定义了两个元组:

Tuple<float, float, float, float> tuple1 = new Tuple<float, float, float, float>(1.0f, 2.0f, 3.0f, 4.0f);
Tuple<float, float, float, float> tuple2 = new Tuple<float, float, float, float>(1.0f, 2.0f, 3.0f, 4.0f);
Run Code Online (Sandbox Code Playgroud)

如果我尝试比较元组,我会得到不同的结果

bool result1 = (tuple1 == tuple2);    // FALSE
bool result2 = tuple1.Equals(tuple2); // TRUE
Run Code Online (Sandbox Code Playgroud)

我希望两个调用都能返回true.到底是什么==比较?

.net c# tuples equality

17
推荐指数
3
解决办法
4825
查看次数

SQL选择多个引用单表

我有一个包含多个关系表的SQL DB.主表中有一些字段多次引用另一个表.例如,假设我有一个负责多个州销售的销售人员数据库.我的数据库包含State1,State2和State3的字段,所有字段都映射回States表.我无法弄清楚如何编写查询以返回具有所有枚举状态的记录.如果我只需要一个国家领域,我知道我会这样做:

SELECT Master.Name, State.Enumeration AS 'State'
FROM MasterTable Master, StateTable State
WHERE Master.State1 = State.ID;
Run Code Online (Sandbox Code Playgroud)

如何在我的所有州字段中扩展它?

谢谢.

sql database

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

结合SQL行

我有SQL Compact Database,其中包含一个IP包头的表.表格如下:

Table: PacketHeaders    

ID  SrcAddress  SrcPort  DestAddress  DestPort  Bytes
1   10.0.25.1   255      10.0.25.50   500       64
2   10.0.25.50  500      10.0.25.1    255       80
3   10.0.25.50  500      10.0.25.1    255       16
4   75.48.0.25  387      74.26.9.40   198       72
5   74.26.9.40  198      75.48.0.25   387       64
6   10.0.25.1   255      10.0.25.50   500       48
Run Code Online (Sandbox Code Playgroud)

我需要执行查询以显示在本地网络上进行的"对话".从A - > B开始的数据包是与来自B - > A的数据包相同的对话的一部分.我需要执行查询以显示正在进行的对话.基本上我需要的是这样的东西:

Returned Query:

SrcAddress  SrcPort  DestAddress  DestPort  TotalBytes  BytesA->B  BytesB->A
10.0.25.1   255      10.0.25.50   500       208         112        96
75.48.0.25  387      74.26.9.40   198       136         72         64
Run Code Online (Sandbox Code Playgroud)

如您所见,我需要查询(或一系列查询)来识别A-> B与B-> A相同并相应地分解字节计数.无论如何我不是SQL大师,但对此的任何帮助都将非常感激.

sql sql-server sql-server-ce

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

为什么运算符不能在静态类中重载?

我有一个System.Net.IPAddress的扩展类,我想重载二进制运算符,>, <, ==但编译器告诉我,我不能在静态类中重载这些运算符,我必须为我的其他扩展方法.这有什么特别的原因吗?

谢谢.

c# language-design operator-overloading

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

使用/ clr时LNK2022错误

我在使用/clr编译选项时在VS2008中链接C++项目时遇到问题.我收到以下构建错误:

Class1.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (_PROPSHEETPAGEA): (0x0200046f).
Class1.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (_PROPSHEETPAGEW): (0x02000473).
Class2.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (_PROPSHEETPAGEA): (0x0200046f).
Class2.obj : error LNK2022: metadata operation failed (8013118D) : Inconsistent layout information in duplicated types (_PROPSHEETPAGEW): (0x02000473).
Class3.obj : error LNK2022: metadata operation failed (8013118D) : …
Run Code Online (Sandbox Code Playgroud)

c++ clr linker managed-c++ visual-studio-2008

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

StyleCop拼写规则和超链接

有没有办法禁用StyleCop拼写检查超链接?我非常喜欢规则功能,但它在我的很多超链接中抱怨拼写错误的单词.

coding-style stylecop visual-studio

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

在扩展方法中使用显式强制转换

当我试图通过扩展方法强制转换对象时,我遇到了一个奇怪的问题.我有一个类,我在其中包含一些功能IPAddress.

// Dumbed down version of class
public sealed class PrefixLengthIPAddress
{
    public static explicit operator IPAddress(PrefixLengthIPAddress address)
    {
        return (address != null) ? address._address : null;
    }

    public PrefixLengthIPAddress(IPAddress address)
    {
        _address = address;
        _length = address.GetLength();
    }

    private readonly ushort _length;
    private readonly IPAddress _address;
}
Run Code Online (Sandbox Code Playgroud)

我不喜欢所有括号的外观来提取IPAddress出对象:

var family = ((IPAddress)prefixLengthAddress).AddressFamily;
Run Code Online (Sandbox Code Playgroud)

我宁愿做这样的事情:

var family = prefixLengthAddress.CastAs<IPAddress>().AddressFamily;
Run Code Online (Sandbox Code Playgroud)

为了做到这一点,我写了以下扩展方法:

public static T CastAs<T>(this object value) where T : class
{
    return (T)value;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到了一个InvalidCastException: …

c# extension-methods casting

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

StringFormat问题

我正在尝试使用XAML中的StringFormat来填充TabItem上的Header文本.我使用的代码是:

<TabControl.ItemContainerStyle>
    <Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource TabItemStyle}">
        <Setter Property="Header" Value="{Binding MyValue, StringFormat='My Value is {0}'}" />
        <EventSetter Event="FrameworkElement.Loaded" Handler="OnTabItemLoaded" />
        <EventSetter Event="FrameworkElement.Unloaded" Handler="OnTabItemUnloaded" />
    </Style>
</TabControl.ItemContainerStyle>
Run Code Online (Sandbox Code Playgroud)

问题是我的标题只显示标题中的值MyValue而不是格式化文本.

wpf xaml string-formatting

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

CA2101进行外部呼叫时发出警告

我正在使用WinPcap库并设置了所有本机方法调用.在构建时,我获得CA2101:为P/Invoke字符串参数指定编组代码分析警告.我的extern函数定义如下:

[DllImport("wpcap", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
internal static extern int pcap_compile(IntPtr /* pcap_t* */ adaptHandle,
                                        IntPtr /*bpf_program **/fp,
                                        string /*char * */str,
                                        int optimize,
                                        uint netmask);
Run Code Online (Sandbox Code Playgroud)

如果我更改CharSetCharSet.Unicode,我解决了代码分析警告,但我的功能不再有效.如何解决警告并保持代码正常工作?

c# c++ code-analysis visual-studio

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

根据起始坐标,范围,方位角和高程获取ECEF XYZ

我在将RAE转换为XYZ时遇到问题.

如果我在WGS84球体上,在位置-742507,-5462738,3196706,我检测到一个30km范围内的物体,方位角为310,仰角为18度,如何将其转换为ECEF XYZ坐标?

谢谢.

math geospatial coordinates

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

csproj 文件中的通用调试/发布标签

我们的项目使用 StyleCop 来执行编码标准。我们的目标是将所有 StyleCop 警告视为错误。然而,我们只想在发布版本上强制执行此操作。由于代码不断变化,直到开发人员准备好执行签入为止,因此我们不希望 StyleCop 错误抱怨甚至可能无法进入源代码管理的代码段。

目前我们必须在 csproj 文件中执行此操作:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  <StyleCopTreatErrorsAsWarnings>true</StyleCopTreatErrorsAsWarnings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
  <StyleCopTreatErrorsAsWarnings>true</StyleCopTreatErrorsAsWarnings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
  <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

目前我必须设置StyleCopTreatErrorsAsWarnings每个配置组合。是否有一个通用的发布和调试标记,我可以使用它在所有调试版本和所有发布版本上StyleCopTreatErrorsAsWarnings设置,而不是单独设置?truefalse

c# stylecop csproj visual-studio-2013

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

WinPcap过滤器字符串语法错误

我试图从配置UI生成WinPcap过滤器.现在我有一个看起来像这样的过滤字符串ip && (((ip.src == 10.10.10.10 && (tcp.port == 10 || udp.port == 10)) && (ip.dst == 20.20.20.20 && (tcp.port == 20 || udp.port == 20)))).当我将它输入Wireshark时,此过滤器有效,但当我尝试通过WinPcap编译它时,我得到了一个syntax error.我编译了一个简单的filter(ip and tcp)没有问题,所以我知道它与这个过滤器字符串有关.有任何想法吗?

c# packet-capture winpcap wireshark

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