VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1283|回复: 8

【vb.net?c#?难道是我看走眼了?】小弟不才,请高手来给我解释一下这个代码为什么可以

[复制链接]

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-17 10:00:01 | 显示全部楼层 |阅读模式
Dim dlg As New OpenFileDialog
        dlg.Multiselect = False
        dlg.CheckFileExists = True
        If dlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim fs As IO.FileStream = dlg.OpenFile()
            Dim bzData As Byte()
            ReDim bzData(fs.Length)
            fs.Read(bzData, 0, fs.Length - 1)
            Dim strFileData As String = System.Text.Encoding.ASCII.GetString(bzData)
            Dim res As System.Text.RegularExpressions.MatchCollection
            res = System.Text.RegularExpressions.Regex.Matches(strFileData, "\r\n")
            Dim strRes As String = String.Format("一共有{0:d}行。", res.Count + 1)
            MessageBox.Show(strRes)
        End If

这个是用vb.net写的。诈一看好像没什么,眼明的人估计看出来了。vb.net里,用了c#的转义字符\r\n,这么说,vb.net以后不用再使用vbcrlf来表示回车换行了?直接用"\r\n"了?天哪,这个是微软独具匠心的设计?还是一个疏漏?
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-13 11:00:01 | 显示全部楼层
不奇怪啊,VB.Net既可以使用vbcrlf来表示回车换行,也可以使用C#的转义字符
因为VB.Net和C#本来就是工作在同一个.Net框架下的
回复

使用道具 举报

1

主题

12

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-2-15 16:30:01 | 显示全部楼层
不能编译
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-6 18:15:01 | 显示全部楼层
这是正则表达式,关VB,c#什么事
回复

使用道具 举报

0

主题

8

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-7 13:30:01 | 显示全部楼层
有些东西都是通用的。
对于数据绑定中的代码
C#: <%# DataBinder.Eval(Container.DataItem,"列名")%>同样可以用在VB.NET中。
回复

使用道具 举报

0

主题

9

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-4-19 06:15:02 | 显示全部楼层
顶 wnc_123

写的很清楚 System.Text.RegularExpressions
正则表达式
回复

使用道具 举报

0

主题

38

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-4-23 08:45:01 | 显示全部楼层
这个"\r\n"是正则表达式的转义
回复

使用道具 举报

0

主题

4

帖子

68.00

积分

荣誉会员

Rank: 10Rank: 10Rank: 10

积分
68.00
发表于 2020-4-25 19:07:45 | 显示全部楼层
学习了,转义符vb.net也能认识
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-4-26 15:30:01 | 显示全部楼层
哦。呵呵。了解了。原来这样。我知道了。因为\r\n本身是表示4个字符,不是c#里的转义字符,c#里的转义字符\r\n表示 0d0a两个字节的。 哈哈哈哈。多谢各位多谢了~ 呵呵。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表