如何使用C#的三元运算符和两个字节值?

似乎没有办法在两个字节上使用C#的三元运算符,如下所示: byte someByte = someBoolean ? 0 : 1; 该代码目前无法使用“无法将源类型’int’转换为目标类型’byte’”进行编译,因为编译器将数字视为整数。 显然没有指定的后缀表示0和1是字节,因此唯一的解决方法是(a)将结果转换为字节或(b)使用if-else控件。 有什么想法吗?

在WCF服务中公开webHttpBinding端点

我创建了一个WCF服务并公开了三个端点,即basicHttpBinding,wsHttpBinding和webHttpBinding。 这是我使用WCF进行实验的测试服务。 但是,每当我使用.svc文件添加服务引用时,我只获得两个(基本和ws)端点。 由于某种原因,似乎没有第三个(webHttpBidning)端点被暴露。 要重现此问题,请创建WCF应用程序项目,删除Service1服务,添加新项目>名为TestService的WCF服务,并将配置文件更改为以下内容: 以下是ITestService.cs的代码: [ServiceContract] public interface ITestService { [OperationContract] [WebInvoke] Boolean ValidateUser(User user); } [DataContract] public class User { [DataMember(Name = “Name”)] public String UserName { get; set; } [DataMember] public String Password { get; set; } } 并为TestService.svc public class TestService : ITestService { public bool ValidateUser(User user) { if (user.UserName […]

将List <List >转换为C#中的List

我有一个List<List> 。 我想将它转换为List ,其中每个int都是唯一的。 我想知道是否有人使用LINQ有一个优雅的解决方案。 我希望能够使用Union方法,但每次都会创建一个新的List 。 所以我想避免做这样的事情: List allInts = new List(); foreach(List list in listOfLists) allInts = new List(allInts.Union(list)); 有什么建议? 谢谢!

Linq联盟用法?

SQL: SELECT date,total_usage_T1 as TotalUsageValue,’T1′ as UsageType FROM TblSayacOkumalari UNION ALL SELECT date,total_usage_T2 as TotalUsageValue,’T2′ as UsageType FROM TblSayacOkumalari 我尝试将其转换为linq IEnumerable sayac_okumalari = entity.TblSayacOkumalari .Select(x => new { x.date, x.total_usage_T1 }) .Union(entity.TblSayacOkumalari.Select(x => new { x.date, x.total_usage_T2 })); 但我不知道如何将’T1′ as UsageType转换’T1′ as UsageType转换为linq。 我的工会使用也是不正确的。 我的表字段如下: | date | total_usage_T1 | total_usage_T2 | | 2010 | […]

如何在安装时设置应用程序设置(通过安装程序类)

我有一个安装程序类的Visual Studio安装项目。 在安装程序类中,我设置如下设置: MessageBox.Show(Properties.Settings.Default.MySetting); Properties.Settings.Default.MySetting = “Foo”; Properties.Settings.Default.Save(); MessageBox.Show(Properties.Settings.Default.MySetting); 问题是,即使我知道这个代码正在执行(我正在做其他的东西),设置永远不会设置! 消息框确实表明正在设置该值,但是当我转到.config文件时,该值仍为空白! 任何人有任何想法和/或可能的解决方法?

WPF应用程序使用新的csproj格式

我正在尝试将使用旧csproj格式定义的WPF项目迁移到VS 2017下的新格式。 使用我在如何将Wpf项目迁移到新的VS2017格式时发现的信息,我能够获得成功构建的大部分内容 。 但是我坚持要克服这个错误: 错误CS5001:程序不包含适用于入口点的静态“主”方法 我的新式csproj文件如下: $(MSBuildExtensionsPath)\$(VisualStudioVersion)\Bin\Microsoft.CSharp.targets winexe net47 winexe 如何配置csproj文件以便构建入口点? 更新 根据关于A​​pplicationDefinition的提示,我能够让项目进行编译。 我无法在BuildAction中设置ApplicationDefinition – 它不是其中一个选择 – 但必须手动编辑csproj文件以包含它。 这是工作版本: $(MSBuildExtensionsPath)\$(VisualStudioVersion)\Bin\Microsoft.CSharp.targets winexe net47 winexe MsBuild:Compile Designer 另请注意指令上的Excludefilter。 有必要让MSBuild不要尝试两次编译App.xaml.cs。

使用T4 / EnvDTE获取使用特定属性修饰的所有方法

我想获得我的项目中使用T4 / EnvDTE使用MyAttribute修饰的所有公共方法的列表。 我知道这可以通过reflection完成,但我不想加载程序集并在T4模板中反映它,而是我想使用现有的代码文件作为源代码。 以下是我在互联网上找到的样板代码,它获取对当前项目的引用

如何从存储过程中填充DataTable

可能重复: 如何从存储过程检索表到数据表 我正在尝试填充我的数据表。 我已经创建了一个数据表tmpABCD但我需要使用存储过程中的值填充它。 我无法继续下去。 SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings[“DB”].ConnectionString); sqlcon.Open(); SqlCommand cmd = new SqlCommand(“usp_GetABCD”, sqlcon); DataTable dt = new DataTable(“tmpABCD”); dt.Columns.Add(new DataColumn(“A”)); dt.Columns.Add(new DataColumn(“B”)); dt.Columns.Add(new DataColumn(“C”)); dt.Columns.Add(new DataColumn(“D”));

有没有办法JSON.NET-序列化List 的子类,还有额外的属性?

好的,我们正在使用Newtonsoft的JSON.NET产品,我非常喜欢。 但是,我有一个简单的类结构用于层次结构位置,看起来大致像这样…… public class Location { public string Name{ get; set; } public LocationList Locations{ get; set; } } // Note: LocationList is simply a subclass of a List // which then adds an IsExpanded property for use by the UI. public class LocationList : List { public bool IsExpanded{ get; set; } } public […]

多对多的同一实体集合,具有双向关系

假设我有一个widget实体,我想跟踪与每个小部件相邻的其他小部件。 如果第一小部件与第二小部件相邻,则反之亦然 – 第二小部件与第一小部件相邻。 理想情况下,我会在实体上有一个集合,并且可以流畅地配置实体以实现这种关系。 public class Widget { // … public virtual ICollection Adjacent { get; set; } } 但是,当我试着…… modelBuilder.Entity .HasMany(w => w.Adjacent) .WithMany(w => w.Adjacent); ……entity framework根本不喜欢它。 在’Widget’类型上声明的导航属性’Adjacent’不能与其自身相反。 有没有办法配置实现此目标的实体,或者我将不会创建父/子集合导航属性或单独的关系容器?