资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

包含Vb.net面试问题的词条

vb.net面试题,请大家帮忙,谢谢。

如果需要讲详细一点,那就加我QQ531412815

创新互联-专业网站定制、快速模板网站建设、高性价比岳普湖网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式岳普湖网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖岳普湖地区。费用合理售后完善,十余年实体公司更值得信赖。

第4题,潜在的错误,这里的错误不是常规错误,属于那种只有在运行是才知道的错误:

Catch ex As Exception

MsgBox(ex.StackTrace)

'永远不会查找下面的错误

Catch ex As ArgumentNullException

MsgBox("Input Test box cannot be null.")

Catch ex As OverflowException

MsgBox("Input Test box 2 cannot be zero!")

Catch ex As FormatException

MsgBox("Input Test box should be numeric format!")

结构化错误处理永远达不到下面这里,因为Catch ex As Exception 已经处理了所有错误.

第5题:

00123

1000 60.50

2000 60.00

3500 59.50

---- -----

6500 60.00

00124

3000 60.50

---- -----

3000 60.50

00125

2000 59.50

1000 58.00

---- -----

3000 58.75

就是按照Ref_ID 分类,有一种方法就是按照Ref_ID 分组,也就是使用SQL语言,不过这里需要该很多,

我就不用了,那么就稍微复杂一点,使用FIND方法,不过有一点必须注意REF_ID必须排序,因为数据库中

已经排好序了,我就不用排了。

Dim rst as ADODB.Recordset

dim refID as string

Rst = GetRecordset

Do While Not rst.EOF

refid=rst(0)

Console.writeline(rst.Fields("Ref_ID")

do

Console.writeline rst.Fields("Qty") vbcrlf rst.Fields("Price"))

rst.MoveNext()

loop while rst(0)=refid

Loop

第6题:就是从一个集合中取元素输出的问题

比较简单的办法就是使用递归

以下是使用VB的方法(可以移植到VB.NET上,因为我对VB.NET的数组到现在还不太会,所以就将就一下)

Dim bUse() As Boolean

Dim lStr() As String * 1

Dim nCount As Byte

-----------------------------------------------------------------------------------

Public Sub Combination(lstStr As String)

Dim i As Byte

Dim j As Byte

Dim StrLen As Byte

StrLen = Len(lstStr)

ReDim bUse(1 To StrLen) As Boolean

ReDim lStr(1 To StrLen) As String * 1

For i = 1 To StrLen

lStr(i) = Mid(lstStr, i, 1)

Next

For i = 1 To StrLen

nCount = i

GoWith StrLen, 1, 0, ""

Next

End Sub

------------------------------------------------------------------------------------

Public Sub GoWith(ECount As Byte, nStart As Byte, Deep As Byte, lastStr As String)

Dim i As Byte

If Deep = nCount Then

Debug.Print lastStr

Exit Sub

End If

For i = nStart To ECount

If Not bUse(i) Then

bUse(i) = True

GoWith ECount, i, Deep + 1, lastStr lStr(i)

bUse(i) = False

End If

Next

End Sub

--------------------------------------------------------------------------------------

Private Sub Form_Load()

Combination "wxyz"

End Sub

--------------------------------------------------------------------------------------

其中GOWITH是真正的递归函数,而Combination是用来预处理字符的

全局变量:

BUSE:用来确定是否使用过这个元素

lSTR:用来保存字符元素

NCOUNT:用来限制递归函数的深度,换句话说,就是输出元素组中的元素个数

实际测试成功,另外我对前三题很感兴趣,希望能够传给我

准备去某公司面试,他注重对编程的兴趣,不懂可以学,我以前搞过.net,vb,以后也不搞这语言,面试要注意什

面试JAVA???不会也可以进去学???哪的公司啊?我们一同去!

还有两道vb.net面试题,请大家帮忙,谢谢。

我很喜欢这种题目

-------------------------------------------------------------------------

第7题,问题出在两方面

Public Function CalculateArea(ByVal SideBase As Double, ByVal Height As Double, _ Optional

ByVal AssignToArea As Boolean = False) As Double

Dim Area As Double = (SideBase * Height) / 2

中间的 _ 有问题,应该去掉

还有objShape = CType(objShape, clsTriangle) 有错误,不能转换

注释掉objShape = CType(objShape, clsTriangle)

删除_后,得到结果

true

false

-330

--------------------------------------------------------------------------

第8题,就是以acc_grp_cust_tbl表为基础,查找cust_tbl并输出

一般的话使用涉及两个表的话使用SHAPE语句(以SQL为基础的语句)

虽然两者使用时差不多,但是理论比较难懂,我这里也不讲了,我使用ADO+SQL方法

先说明一下程序中的一个细节,也是问题比较容易忽略的

1400 0 1 2

1500 3 4

1600 5

说明一个问题Cust_id1 Cust_id2 Cust_id3 Cust_id4 字段不是数值,而是类似字符的东西(因为可能是

备注)

定义rsgrp对应acc_grp_cust_tbl ,rscust对应cust_tbl

预先设置好rsgrp和rscust的连接(使用VB的方法,可以移植到VB.NET上)

do until rscust.eof

strline=rscust(0) " "

strSQL="SELECT * FROM CUST_TBL WHERE cust_id='" RSGRP(1) "' OR CUST_ID='" RSGRP(2) "' OR CUST_ID='" RSGRP(3) "' OR CUST_ID='" RSGRP(4) "'"

RSGRP.OPEN STRSQL

if rsgrp.recordcount0 then

rsgrp.movefirst

do until rsgrp.eof

strLine=strline rscust(3) " " rscust(2) "/"

rsgrp.movenext

loop

end if

rscust.close

strline=left(strline ,len(strline)-1)

'去除最后一个"/"

console.writeline(strline)

loop


当前标题:包含Vb.net面试问题的词条
文章分享:http://cdkjz.cn/article/phhccj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220