NET 编程题
1.C#编写创建一个线程的代码
using System;
using System.IO;
using System.Threading ;
class MyThread{
public int count;
string thrdName;
public MyThread(string name){
count=0;
thrdName=name;
}
public void run(){
Console.WriteLine(thrdName+”starting.”);
do
{
Thread.Sleep(500);
Console.WriteLine(“In”+thrdName+”, count is “+count);
count++;
}
while(count<10);
Console.WriteLine(thrdName+” terminating.”);
}
}
class MultiThread{
public static void Main()
{
Console.WriteLine(“Main thread starting.”);
MyThread mt=new MyThread(“Child #1″);
Thread newThrd=new Thread(new ThreadStart(mt.run));
newThrd.Start();
do {
Console.Write(“.”);
Thread.Sleep(100);
}
while(mt.count!=10);
Console.WriteLine(“Main thread ending.”);
}
}
2.写出一个函数来实现去掉任意一个给定的XML文档的重复结点,以给定的”key”重复作为结点重复的标准,
如下例:Milk 4Milk 0.5Coffe 0.5
当以Name字段作为key时,第一个和第二个结点是重复的,当Amount作为key时,则第二个和第三个结点是重复结点。
所以函数应该是这样格式的:
string DeDup(string xml, string keyNode, string rootPath)
参考解决方案:
private static string RemoveDuplicates(string xml, string key, string rootXPath)
{
XmlDocument doc = new XmlDocument();
List sb = new List();
string keyValue;
try
{
doc.Load(xml);
XmlElement root = doc.DocumentElement;
XmlNodeList xnodelist = root.SelectNodes(rootXPath);
int i=0;
foreach (XmlNode item in xnodelist)
{
Console.WriteLine(i + "\b\b\b\b\b");
i++;
keyValue = item.SelectSingleNode(key).InnerXml;
if (sb.Contains(keyValue))
xnode.RemoveChild(item);
else
sb.Add(keyValue);
}
return doc.OuterXml;
}
catch (Exception ex)
{
// Log exception...
throw ex;
}
}
3.如何在C# winform中异步调用web services
如果webservice有一个Get()方法。
new出来一个Web Service得proxy以后,它会有一个GetAsync()的方法和一个GetCompleted的事件,注册GetCompleted事件,然后invoke GetAsync方法就可以了。
4.C#如何调用Word并打开一个Word文档
private void OpenMicrosoftWord(string urlorpath)
{
//启动线程
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = “WINWORD.EXE”;
startInfo.Arguments = urlorpath;
try
{
Process.Start(startInfo);
}
catch (Exception e)
{
MessageBox.Show(“Cannot start Microsoft Word, please make sure it is installed.”);
}
}
5.C#如何进行LDAP用户校验
private bool Authenticate(string userName, string password, string domain)
{
bool authentic = false;
try
{
DirectoryEntry entry = new DirectoryEntry(“LDAP://”+domain, userName, password);
object nativeObject = entry.NativeObject;
authentic = true;
}
catch (DirectoryServicesCOMException) { }
return authentic;
}
6.编写一个类体现构造,公有,私有方法,静态,私有变量
public class stu
{
private string name;
public static int count;
public stu()
{
}
public string Name
{
get{return name;}
set{name = value;}
}
private string Method1()
{
Response.Write(“私有方法”);
}
public string Method2()
{
Response.Write(“公有方法”);
}
}
7.C#语言写出在本地创建一个UDP接收端口的具体过程
:const int port = 8000 ;
//定义端口号
TcpListener tcplistener = new TcpListener(port);
Console.WriteLine(“侦听端口号: ” + port.ToString());
tcplistener.Start();
//侦听端口号
while (true)
{
Socket socket = tcplistener.AcceptSocket();
//并获取传送和接收数据的Scoket实例
Proxy proxy = new Proxy(socket);
//Proxy类实例化
Thread thread = new Thread(new ThreadStart(proxy.Run));
//创建线程
thread.Start();
//启动线程
}
8.C#语言写出与SQLSERVER访问时的具体过程
private SqlConnection conn;//定义一个数据库连接
private SqlCommand com;//定义执行命令
public data()
{
//在配置文件中设置
conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.AppSettings["connString"].ToString();
}
//打开数据库
public void open()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
}
//关闭数据库
public void close()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
//执行数据库操作,返回DataSet
public void getDataSet(string proc,SqlParameter[] parm,out DataSet ds)
{
com = getCommand(proc,parm);
SqlDataAdapter sda = new SqlDataAdapter(com);
ds = new DataSet();
sda.Fill(ds);
}
//返回SqlCommadn
public SqlCommand getCommand(string proc, SqlParameter[] parm)
{
SqlCommand com = new SqlCommand();
com.Connection = conn;
com.CommandType = CommandType.StoredProcedure;
com.CommandText = proc;
foreach (SqlParameter p in parm)
{
com.Parameters.Add(p);
}
return com;
}
//返回DataReader
public SqlDataReader getDataReader(string proc, SqlParameter[] parm)
{
com = getCommand(proc, parm);
return com.ExecuteReader();
}
//执行数据库操作,返回void
public void ExecuteCommand(string proc, SqlParameter[] parm)
{
com = getCommand(proc, parm);
open();
com.ExecuteNonQuery();
close();
}
注意:引用 using System.Data.SqlClient,如果是连接模式记得完了后断开连接,SqlDataReader记得关闭,出错了怎么处理
9.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用 例 。
答: using System.Text;
string inputStr = “a,b,c,d,e,f,g,h,i,j,k,l”;
char[] inputChar = inputStr.ToCharArray();
int count = inputChar.Length;
StringBuilder sb = new StringBuilder();
for (int m = count – 1; m >= 0; m–)
{
sb.Append(inputChar[m]);
}
10.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程序来实现。
using System.Text;
StringBuilder sb = new StringBuilder(0, 10000);
string strABC = “a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z”;
string[] ABC = strABC.Split(‘,’);
int len = ABC.Length;
Random rd = new Random();
for (int i = 0; i < 10000; i++)
{
sb.Append(ABC[rd.Next(len)]);
}
11.对于这样的一个枚举类型:
enum Color:byte{
Red,
Green,
Blue,
Orange
}
试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。
答:string[] ss=Enum.GetNames(typeof(Color));
byte[] bb=Enum.GetValues(typeof(Color));
12.用VB或VB.NET或ASP.NET编程,从一个表中选出两个varchar列(其中一列数据不能有重复,并且长度等于4),并将两列连接成一个字符串,将这些字符串动态加载到TreeView1所有节点的Text属性中
答:先从数据库中取出数据“select city,phone from authors where len(city) = 4”,如果不能重复的是city,然后在foreach循环中判断取出来的city的值,只取相同中的一个,遍历treeview
public void ShowTreeView(TreeNodeCollection Nds)
{
DataView dv = new DataView();
TreeNode tmpNd;
dv.Table=ds.Tables[0];
foreach(DataRowView drv in dv)
{
tmpNd=new TreeNode();
tmpNd.Text =“字符串的值”;
Nds.Add(tmpNd);
ShowTreeView(tmpNd.Nodes);
}
}
NET 编程题的更多相关文章
- 算法是什么我记不住,But i do it my way. 解一道滴滴出行秋招编程题。
只因在今日头条刷到一篇文章,我就这样伤害我自己,手贱. 刷头条看到一篇文章写的滴滴出行2017秋招编程题,后来发现原文在这里http://www.cnblogs.com/SHERO-Vae/p/588 ...
- C算法编程题系列
我的编程开始(C) C算法编程题(一)扑克牌发牌 C算法编程题(二)正螺旋 C算法编程题(三)画表格 C算法编程题(四)上三角 C算法编程题(五)“E”的变换 C算法编程题(六)串的处理 C算法编程题 ...
- C算法编程题(七)购物
前言 上一篇<C算法编程题(六)串的处理> 有些朋友看过我写的这个算法编程题系列,都说你写的不是什么算法,也不是什么C++,大家也给我提出用一些C++特性去实现问题更方便些,在这里谢谢大家 ...
- C算法编程题(六)串的处理
前言 上一篇<C算法编程题(五)“E”的变换> 连续写了几篇有关图形输出的编程题,今天说下有关字符串的处理. 程序描述 在实际的开发工作中,对字符串的处理是最常见的编程任务.本题目即是要求 ...
- C算法编程题(五)“E”的变换
前言 上一篇<C算法编程题(四)上三角> 插几句话,说说最近自己的状态,人家都说程序员经常失眠什么的,但是这几个月来,我从没有失眠过,当然是过了分手那段时期.每天的工作很忙,一个任务接一个 ...
- C算法编程题(四)上三角
前言 上一篇<C算法编程题(三)画表格> 上几篇说的都是根据要求输出一些字符.图案等,今天就再说一个“上三角”,有点类似于第二篇说的正螺旋,输出的字符少了,但是逻辑稍微复杂了点. 程序描述 ...
- C算法编程题(三)画表格
前言 上一篇<C算法编程题(二)正螺旋> 写东西前还是喜欢吐槽点东西,要不然写的真还没意思,一直的想法是在博客园把自己上学和工作时候整理的东西写出来和大家分享,就像前面写的<T-Sq ...
- C算法编程题(二)正螺旋
前言 上一篇<C算法编程题(一)扑克牌发牌> 写东西前总是喜欢吐槽一些东西,还是多啰嗦几句吧,早上看了一篇博文<谈谈外企涨工资那些事>,里面楼主讲到外企公司包含的五类人,其实不 ...
- C算法编程题(一)扑克牌发牌
前言 上周写<我的编程开始(C)>这篇文章的时候,说过有时间的话会写些算法编程的题目,可能是这两天周末过的太舒适了,忘记写了.下班了,还没回去,闲来无事就写下吧. 因为写C++的编程题和其 ...
- C语言程序设计进阶 第1周编程题
第1周编程题 查看帮助 返回 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数 ...
随机推荐
- hrbust 1840 (树状数组第k大) 删点使用
小橙子 Time Limit: 2000 MS Memory Limit: 32768 K Total Submit: 2(2 users) Total Accepted: 1(1 users) Ra ...
- poj1845 数论 快速幂
Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16466 Accepted: 4101 Descripti ...
- MTK平台 GPU 相关知识
一.什么是Render script,以及mtk平台GPU support情况 [DESCRIPTION] 1.什么是RenderScript ? 2.RenderScript 干什么? 3.MTK平 ...
- SpringBoot入门系列~Spring-Data-JPA自动建表
1.pom.xml引入Spring-Data-Jpa和mysql依赖 <!-- Spring-data-jpa依赖 --> <dependency> <groupId&g ...
- Google Protocol Buffer 的使用(一)
一.什么是Google Protocol Buffer下面是官网给的解释:Protocol buffers are a language-neutral, platform-neutral exten ...
- easyUi 学习笔记 (一) 使用easyui 和ztree 创建前端框架
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- MongoDB小结24 - 索引简介2
索引的名字 集合中每个索引都有一个字符串类型的名字,来唯一标识索引. 服务器通过名字来操作或者删除索引. 要注意的是,索引名有字符个数限制,所以索引创建时一定要用自定义的名字,如 db.user.en ...
- SSD硬盘安装系统后要做的事
1***cmd>fsutil behavior query DisableDeleteNotify 0如果返回值是0,则代表TRIM处于开启状态:反之如果返回值是1,则代表TRIM处于关闭状态2 ...
- iOS UI03_LTView
// // LTView.h // OC03_LTView // // Created by dllo on 15/7/31. // Copyright (c) 2015年 dllo. All ...
- 后台进程管理工具---supervisor
supervisor是一个linux下的进程管理工具,有时须要开发一些后台服务类的程序.这类程序通常不能由于意外挂掉.所以最好能在出现意外挂掉的情况下可以重新启动,继续服务. 之前我一直採用创建dae ...