小编aru*_*cii的帖子

在c#中将Unicode字符串转换为unicode字符用于印度语言

我需要将unicode字符串转换为unicode字符.

例如:语言泰米尔语

"கமலி"> 'க', 'ம', 'லி'

我能够剥离unicode字节,但生成unicode字符成为问题.

byte[] stringBytes = Encoding.Unicode.GetBytes("????");
char[] stringChars = Encoding.Unicode.GetChars(stringBytes);
foreach (var crt in stringChars)
 {
     Trace.WriteLine(crt);
 }
Run Code Online (Sandbox Code Playgroud)

它给出了结果:

'க'=> 0 x0b95

'ம'=> 0 x0bae

'ல'=> 0 x0bb2

'ி'=> 0 x0bbf

所以这里的问题是如何将字符'லி'剥离为'லி'而不像'ல','ி'那样分裂.

因为它通过将辅音和元音表示为单个字符而使用c#解析而使用印度语是很自然的.

所有我需要分成3个字符.

.net c# unicode tamil .net-2.0

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

使用正则表达式C#替换Unicode(泰米尔语)字符串

我正在实施泰米尔语的词法分析.我需要通过以下条件替换Text Element值

        string[] ugaramStrings = { "??", "??", "??", "??", "??", "??" };
        string[] tamilvowels =
            {
                "?",// "\u0b85"
                "?",//"\u0b86"
                "?",//"\u0b87"
                "?",//"\u0b88"
                "?",//"\u0b89"
                "?",//"\u0b8A"
                "?",// "\u0b8E"
                "?",//"\u0b8F"
                "?",//"\u0b90"
                "?",//"\u0b92"
                "?",//"\u0b93"
                "?"//"\u0b94"
            };
Run Code Online (Sandbox Code Playgroud)

如果任何单词具有来自ugaramStrings和tamil元音元素的元素连续.是需要替换ugaram字符串并返回值.

例如,அமர்ந்*துஇ*னிது被替换为அமர்ந்**னிது.即துஇ=>இ

我通过使用TextElementEnumerator Class 检查下一个字符串元素来完成它.是否有可能使用RegularExpression替换它

.net c# regex unicode tamil

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

直接从内存中处理C#中的内存映射文件

是否可以直接在C#中打开内存映射文件,就像在Windows中直接打开文件一样,例如,我正在创建内存映射文件.通过以下代码.

using System;
using System.IO.MemoryMappedFiles;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            MemoryMappedFile mmf = MemoryMappedFile.CreateNew("test.txt", 5);
            MemoryMappedViewAccessor accessor = mmf.CreateViewAccessor();
            var arun = new[] {(byte)'a', (byte)'r', (byte)'u', (byte)'n'};
            for (int i = 0; i < arun.Length; i++)
                accessor.Write(i, arun[i]);
            Console.WriteLine("Memory-mapped file created!");
            Console.ReadLine(); // pause till enter key is pressed
            accessor.Dispose();
            mmf.Dispose();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要直接打开文件.是否有可能像打开文件一样

Process.start("test.txt");

从另一个进程而不是通过代码读取值.

 MemoryMappedFile mmf1 = MemoryMappedFile.OpenExisting("test.txt");
 MemoryMappedViewAccessor accessor1 = mmf1.CreateViewAccessor();
 var  value = accessor1.ReadByte(4);    
Run Code Online (Sandbox Code Playgroud)

如果可以直接打开内存映射文件?请告诉我.

.net c# windows memory-mapped-files c#-4.0

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

如何在Winforms C#中获取按钮背景图像的名称

我在Form中将图像添加到资源中,并将其设置为按钮的背景图像.如何通过程序化获取按钮背景图像的名称.

.net c# resources button winforms

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

单独线程中的计时器滴答事件

是否有人如何为计时器刻度事件创建一个线程.在Windows桌面应用程序中,计时器tick事件应由单独的线程控制.可能吗?

.net c# timer winforms

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

IErrorInfo.GetDescription失败时带有E_FAIL(0x80004005).System.Data而数据适配器Fill()

我正在尝试从CSV文件中获取数据,通过使用fill()方法我得到了一个异常idk为什么会出现,请查看代码并建议乐观的answer.note如果参数"s"没有任何空格意味着它工作精细.如果它有空间意味着如何克服它,不建议临时重命名和所有.

/// <summary>
/// Import Function For CSV Delimeted File
/// </summary>
/// <param name="s">File Name</param>
private DataTable Import4csv(string s)
{
    string file = Path.GetFileName(s);
    string dir = Path.GetDirectoryName(s);
    string sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;"
                             + "Data Source=\"" + dir + "\\\";"
                             + "Extended Properties=\"text;HDR=YES;FMT=Delimited\"";
    try
    {
        var objConn = new OleDbConnection(sConnection);
        objConn.Open();
        var ds = new DataSet();
        var da = new OleDbDataAdapter("SELECT * FROM " + file, sConnection);
        da.Fill(ds);        // getting exception on this line.
        objConn.Close();
        return ds.Tables[0];
    }
    catch (Exception …
Run Code Online (Sandbox Code Playgroud)

.net c# excel-2007

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

获得GSM塔的位置

有没有办法以编程方式识别GSM塔附近的位置,我们可以在地图中显示它们?

.net c# gsm

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

将Linq转换为IEnumerable <Datarow>

我正在创建winForm应用程序,在Onbutton中单击我从两个数据库Mysql和Sqlite数据库中收集数据表.在将Linq查询转换为IEnumerable时,我将获取Casting错误,以便将查询值提取到DataTable以在DataGrid视图中显示.

private void button1_Click(object sender, EventArgs e)
{

    var obj = new table1TableAdapter();  //Mysql Table Adapter
    var obj2 = new Table1TableAdapter(); // Sqlite Table Adapter
    var ds = new DataSet();
    ds.Tables.Add(obj.GetData());
    ds.Tables.Add(obj2.GetData());
    var tab1 = ds.Tables[0];
    var tab2 = ds.Tables[1];
    var query = from o in tab1.AsEnumerable()
                join od in tab2.AsEnumerable()
                on o.Field<string>("Name") equals od.Field<string>("Name")
                select new
                {
                    Name = o.Field<string>("Name"),
                    Rollno = od.Field<Int64>("rollno"),
                    Book = o.Field<string>("Book")
                };

    var q2 = (IEnumerable<DataRow>)query; //Unable to cast object of type <JoinIterator>

    DataTable …
Run Code Online (Sandbox Code Playgroud)

c# linq

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