Tag: string

Interop从C#发送字符串到C ++

我想从C#发送一个字符串到本机C ++ DLL中的函数。 这是我的代码:C#方: [DllImport(@”Native3DHandler.dll”, EntryPoint = “#22”, CharSet = CharSet.Unicode)] private static extern void func1(byte[] path); public void func2(string path) { ASCIIEncoding encoding = new ASCIIEncoding(); byte[] arr = encoding.GetBytes(path); func1(this.something, arr); } C ++方面: void func1(char *path) { //… } 无论我发送什么,每次在C ++方面得到的都是一个空字符串。 救命? 谢谢。

字符串拆分为c#

我有这样的字符串: 00123_MassFlow 0022245_VOlumeFlow 122_447_Temperature 我必须使用C#将这些字符串拆分为_ 。 _可能会出现多个地方,但我必须采取最后一个值。 我应该是这样的: MassFlow VOlumeFlow Temperature 我怎么能做到这一点?

如何修复错误:“检测到无法访问的代码”

public partial class KalenderLeeftijd : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void calBirthDate_SelectionChanged(object sender, EventArgs e) { } private string GetAnswer() { DateTime birthday = calBirthDate.SelectedDate; TimeSpan difference = DateTime.Now.Date – birthday; int leapYears = CountLeapYears(birthday); int days = (int)difference.TotalDays – leapYears; int hours = (int)difference.TotalHours – leapYears * 24; […]

替换字符串c#中的值不起作用

Fixed Start Fixed End Floating Start Floating End Notional Drop 14-Apr-201116-May-2011$10,000,000.00$0.0016-May-201114-Jun-2011$10,000,000.00$0.0014-Jun-201114-Jul-2011$10,000,000.00$0.0014-Jul-201115-Aug-2011$10,000,000.00$0.0015-Aug-201114-Sep-2011$10,000,000.00$0.0014-Sep-201114-Oct-2011$10,000,000.00$0.0014-Oct-201114-Nov-2011$10,000,000.00$0.0014-Nov-201114-Dec-2011$10,000,000.00$0.0014-Dec-201117-Jan-2012$10,000,000.00$0.0017-Jan-201214-Feb-2012$10,000,000.00$0.0014-Feb-201214-Mar-2012$10,000,000.00$0.0014-Mar-201216-Apr-2012$10,000,000.00$0.0016-Apr-201214-May-2012$10,000,000.00$0.0014-May-201214-Jun-2012$10,000,000.00$0.0014-Jun-201216-Jul-2012$10,000,000.00$0.0016-Jul-201214-Aug-2012$10,000,000.00$0.0014-Aug-201214-Sep-2012$10,000,000.00$0.0014-Sep-201215-Oct-2012$10,000,000.00$0.0015-Oct-201214-Nov-2012$10,000,000.00$0.0014-Nov-201214-Dec-2012$10,000,000.00$0.0014-Dec-201214-Jan-2013$10,000,000.00$0.0014-Jan-201314-Feb-2013$10,000,000.00$0.0014-Feb-201314-Mar-2013$10,000,000.00$0.0014-Mar-201315-Apr-2013$10,000,000.00$0.0015-Apr-201314-May-2013$10,000,000.00$0.0014-May-201314-Jun-2013$10,000,000.00$0.0014-Jun-201315-Jul-2013$10,000,000.00$0.0015-Jul-201314-Aug-2013$10,000,000.00$0.0014-Aug-201316-Sep-2013$10,000,000.00$0.0016-Sep-201315-Oct-2013$10,000,000.00$0.0015-Oct-201314-Nov-2013$10,000,000.00$0.0014-Nov-201316-Dec-2013$10,000,000.00$0.0016-Dec-201314-Jan-2014$10,000,000.00$0.0014-Jan-201414-Feb-2014$10,000,000.00$0.0014-Feb-201414-Mar-2014$10,000,000.00$0.0014-Mar-201414-Apr-2014$10,000,000.00$0.0014-Apr-201414-May-2014$10,000,000.00$0.0014-May-201416-Jun-2014$10,000,000.00$0.0016-Jun-201414-Jul-2014$10,000,000.00$0.0014-Jul-201414-Aug-2014$10,000,000.00$0.0014-Aug-201415-Sep-2014$10,000,000.00$0.0015-Sep-201414-Oct-2014$10,000,000.00$0.0014-Oct-201414-Nov-2014$10,000,000.00$0.0014-Nov-201415-Dec-2014$10,000,000.00$0.0015-Dec-201414-Jan-2015$10,000,000.00$0.0014-Jan-201517-Feb-2015$10,000,000.00$0.0017-Feb-201516-Mar-2015$10,000,000.00$0.0016-Mar-201514-Apr-2015$10,000,000.00$0.0014-Apr-201514-May-2015$10,000,000.00$0.0014-May-201515-Jun-2015$10,000,000.00$0.0015-Jun-201514-Jul-2015$10,000,000.00$0.0014-Jul-201514-Aug-2015$10,000,000.00$0.0014-Aug-201514-Sep-2015$10,000,000.00$0.0014-Sep-201514-Oct-2015$10,000,000.00$0.0014-Oct-201516-Nov-2015$10,000,000.00$0.0016-Nov-201514-Dec-2015$10,000,000.00$0.0014-Dec-201514-Jan-2016$10,000,000.00$0.0014-Jan-201616-Feb-2016$10,000,000.00$0.0016-Feb-201614-Mar-2016$10,000,000.00$0.0014-Mar-201614-Apr-2016$10,000,000.00$0.00 所以这实际上是我在c#中的一个字符串,我想用table替换tbody ,所以我试着这样做: _viewPath.Replace(“tbody”, “table”); 但它没有用。 为什么?

标点符号与字母的顺序

在C#中,众所周知”.”.CompareTo(“A”) == -1 。 我的问题是:是否有一个标点符号x使得x.CompareTo(“A”) == 1 (奇怪的是我无法在任何地方找到答案) 或者换句话说,C#中字符串的完整默认顺序是什么? 我知道我可以定义比较器和比较,但我问这个问题,因为我使用的是一个我无法修改的类,它在字符串列表上执行默认的字母排序。 我的问题是我需要在列表的末尾添加一些虚拟值,我宁愿有类似的东西: “value 1” “value 2” “_” “_” “_” 比 “value 1” “value 2” “zzz” “zzz” “zzz” 编辑: 这不是很好,但我会使用(char)738

用坏字符替换String的错误字符

我只是想知道什么是替换必须随后替换的字符串字符的最简单方法。 例如: var str = “[Hello World]”; //enclose all occurences of [ and ] with brackets[] str = str.Replace(“[“,”[[]”).Replace(“]”,”[]]”); 期望的结果: [[]Hello World[]] 实际结果: [[[]]Hello World[]] 原因显然是已经修改过的字符串的第二个替换。 那么如何用包含“坏”字符的字符替换所有“坏”字符的出现? 快速测量所有方法表明StringBuilder是最有效的方法。 190kb文件(全部以毫秒为单位) regexTime 40.5065 replaceTime 20.8891 stringBuilderTime 6.9776 7MB文件 regexTime 1209.3529 replaceTime 403.3985 stringBuilderTime 175.2583 顺便说一下,来自John的直接StringBuilder方法的速度是Sehe的Aggregate方法的两倍 。 我做了一个扩展: public static String EncloseChars(this string input, char[] charsToEnclose, String leftSide, […]

在C#中将String转换为int

我正在尝试编写一个简单的程序,要求用户输入一个数字,然后我将使用该数字来确定票证的成本对于他们给定的年龄。 我在尝试将字符串转换为int时遇到了麻烦。 否则程序布局很好。 有什么建议? 谢谢 using System; class ticketPrice { public static void Main(String[] args) { Console.WriteLine(“Please Enter Your Age”); int input = Console.ReadLine(); if (input 4 & input 17 & input 55) { Console.WriteLine(“You are “+input+” and the admission is $8″); } } }

C#等同于InStrRev

我一直在寻找超过一个小时,我不能为我的生活弄清楚如何从右边开始搜索字符串变量。 我想要做的是获取路径的最后一个文件夹(在文件名之前),在VB6中我会做这样的事情: Dim s As String s = “C:\Windows\System32\Foo\Bar\” Debug.Print Mid(s, InStrRev(Left(s, Len(s) – 1), “\”) + 1) 这是我到目前为止所尝试的: string s = “C:\\Windows\System32\\Foo\\Bar\\”; s = agencyName.Substring(s.LastIndexOf(“\\”) + 1)

在C#中处理大型文本文件

我有4GB +文本文件(csv格式),我想在c#中使用linq处理这个文件。 我在加载csv后运行复杂的linq查询并转换为类? 但是文件大小是4GB,尽管应用程序内存是文件的双倍大小。 我如何处理(linq和新结果)大文件? 谢谢

获得一个字符串的前250个单词?

如何获得字符串的前250个单词?