【从C#中的字符串创建结构】教程文章相关的互联网学习教程文章

c# – 尽管有原始类型,我如何强制将每个字符串编码为UTF8?【代码】

我已经找到了这个question的答案,建议如下:byte[] utfBytes = utf8.GetBytes(Message); byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes); string msg = iso.GetString(isoBytes);通过这种方式,我可以将utf8编码的字符串转换为iso编码的字符串.我需要转换为utf8,所以转换应该是这样的:byte[] utfBytes= Encoding.Convert(iso, utf8, utfBytes); 我想将我收到的任何字符串转换为Utf8.有没有办法在不指定起始字符集的...

c# – 字符串的修改【代码】

我知道字符串是C#中的不可变引用类型.但我有一个更具体的问题.string a = "hello "; string b = a; a += "world"; Console.WriteLine(b);上面的代码将生成输出hello.我意识到这是因为字符串是不可变的,所以一旦我们创建了一个值为“hello”的字符串实例,它就无法修改.但我想知道,当我们做一个“世界”时会发生什么?看着IL似乎不幸地给了我整个故事(或者可能是我太新手无法看到更大的图片)IL_0001: ldstr "hello " IL_0006:...

c# – 要与一个进行比较的多个字符串值.像attributetocheck.Equals(att1,att2,att3)之类的东西【代码】

我有多个属性说att1,att2,att3,它们可以被任何分隔符分开.我希望在下面的查询中有一个“OR”条件来检查COLUMN1中的行值是否相等.由于.Equals只能有一个字符串,任何人都可以提出任何其他方法.string result = string.Join(",", attributes);List<string> query = (from DataRow dr in response.Output.Tables[0].Rowswhere dr["COLUMN1"].ToString().Equals(result)select dr["COLUMN2"].ToString()).ToList<string>();解决方法:不要...

c# – REST webapi URI GET使用字符串而不是id不按预期路由【代码】

我有以下示例,其中请求是http:// {domain} / api / foo / {username},但我得到404状态代码.此控制器上不存在其他Get操作.这不应该工作吗?public class FooController : ApiController {public Foo Get(string username){return _service.Get<Foo>(username);} }解决方法:默认情况下,您的路线将如下所示:config.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParam...

从C#中IPv6安全的IP字符串中删除端口【代码】

对于在ASP.NET MVC上运行的rest API中发出请求的用户,我需要没有端口的IP.看来获取地址的方法是这些的组合:HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] HttpContext.Current.Request.UserHostAddress;哪个给我一个IP字符串:端口 IPV4很简单,但从阅读中我期望IPV6会给我这样的东西:[1fff:0:a88:85a3::ac1f]:8001IPAddress.Parse可以使用端口处理IPv6,但不能处理带有奇怪端口的IPv4. 我可以检查字符串以...

c# – linq – 选择新上下文中两个字段的格式字符串【代码】

我有一对多关系的外表.我将linq查询写为左连接等效,并通过相关的id字段实现组.from p in db.personal join pn in(from t in db.phoneNumbersgroup t by t.personID into gselect new { id = g.Key, number = g.Select(t => t.number), prefix = g.Select(t => t.prefix) }).AsEnumerable() on p.ID equals pn.id into lPN from lpn in lPN.DefaultIfEmpty() //join wsd in db.basicOperations on p.ID equals wsd.personID where p...

c# – 用方括号将字符串解析为json【代码】

我想将这个字符串解析为Json:String str="[{\"property\":\"insert_date\",\"direction\":\"ASC\"}]"我试过这个:dynamic myObject=Newtonsoft.Json.JsonConvert.DeserializeObject(str)但它会返回一些JArray.我想读取简单的值:String dir=myObject.direction;一种选择是解析字符串并从字符串中删除方形对象.比它会工作.但我想以更恰当的方式做到这一点.解决方法:一种方法是创建一个类并将其反序列化为List< ThatClass>. 例如:p...

c# – 如何在EF 6中的字符串类型字段上创建唯一约束?【代码】

首先,我是MVC的新手. 我有一个项目表,其中包含ProjectID,ProjectNumber和ProjectDescription字段. ProjectId是int类型的entityKey,ProjectNumber需要是唯一约束. 我如何在实体框架6.1.3中执行此操作? 在我的Project类中public int ProjectID { get; set; }[Index(IsUnique = true)][StringLength(200)]public string ProjectNumber { get; set; }public string ProjectDescription { get; set; }当我从模型生成数据库时,该字段在数...

c# – 如何在代码段中转义字符串插值【代码】

字符串插值很棒,片段很棒,但它们并不能很好地协同工作.我有一个看起来(部分)像这样的片段:job.Location = $"{e["$locationfield$"]}"; return true;locationfield部分应该是替代品,但当然它将被视为’“{e [”作为替代品.因此,当您尝试使用该代码段时,该部分会搞砸:job.Location = locationfield其余的代码已经消失了(因为它无法与另一个$匹配). 有办法吗?或者你可以不在你的片段中使用字符串插值吗?解决方法:好吧,事实证明,这...

c# – 如何确定字符串是否是已安装的UWP应用程序的AUMID?【代码】

是否有一个.Net库用于测试字符串是否是已安装的UWP应用程序的AUMID? 例如,如果用户输入Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge如何确保实际安装了此AUMID的UWP应用程序?解决方法:嗯,UWP的AUMID格式为FamilyName!AppID,例如here. 要确定给定字符串是否是已安装的UWP应用程序的AUMID,您必须与之进行比较.您可以构建所有UWP应用程序AUMID的列表,并查看该字符串是否是其中之一,或者您可以在感叹号上拆分字符串,找到具...

c# – 如何使用Convert将字符串转换为自定义对象【代码】

我在C#编程中找到了以下声明:IFormattable provides the functionality to format the value of an objectinto a string representation. It is also used by the Convert class to do the opposite.我有课:class a : IFormattable {private string aa = "123";private int bb = 5;public string ToString(string format, IFormatProvider formatProvider){return $"aa={aa} bb={bb}" ;} }但是如何通过使用转换为对象来转换字符串...

c# – .NET datetime从字符串转换为datetime时的毫秒精度问题【代码】

你好.我试图以字符串格式转换到我们系统的传入日期时间值.似乎当毫秒的精度高于7时,.NET中的日期时间解析似乎不喜欢该值,并且无法转换/解析该值.我有点不知道该为此做些什么?我目前唯一的想法是毫秒尺寸有限制,不再有精度吗?但我想证实这是事实,而不是假设. 例:string candidateDateTimeString = "2017-12-08T15:14:38.123456789Z"; if (!success){success = DateTime.TryParseExact(trayportDateTimeString, "yyyy- MM-dd'T'HH...

c# – 如何将数字字符串解析为十进制并将其转换回字符串而不会有任何损失?【代码】

如何将数字字符串输入解析为十进制数并将其转换回字符串而不会有任何损失?using System; using System.Globalization;class Program {static void Main(string[] args){string input = "-1.234.567.890,123456789012345678901234567890";var ci = new CultureInfo("id-ID");decimal number = decimal.Parse(input, NumberStyles.Number, ci);string output = number.ToString("N", ci);Console.WriteLine(output == input);// pro...

c# – EFCore枚举到where子句中未使用的字符串值转换【代码】

我有一个问题,我的Linq where子句如何被转换为Sql. 我正在使用EnumToStringConverter将我的实体的属性(枚举)映射到文本数据库列.只需从DbContext查询我的实体,这一切都正常. 然后我开始使用LinqKit和Expressions来获得可重用的过滤器.我创建了一个接受我的实体的Expression,并根据对实体其他属性的一些计算给出了我的枚举.我会尝试用代码解释自己,因为单词让我失望.我会写一个例子,所以我不必发布完整的代码,但逻辑将是相同的.您可...

将字符串变量作为参考传递给c#dll和c dll【代码】

我有一个c#dll和一个c dll.我需要将一个字符串变量作为参考从c#传递给c.我的cll将用数据填充变量,我将在C#中使用它我该怎么做.我尝试过使用ref.但是我的c#dll抛出异常. “试图读取或写入受保护的内存….这通常表明其他内存已损坏”.关于如何做到这一点的任何想法解决方法:作为一般规则,您使用StringBuilder作为引用或返回值,并使用字符串表示您不希望/需要在DLL中更改的字符串. StringBuilder对应于LPTSTR,string对应于LPCTSTR C#函...