C#编程入门教程:从零开始学习C#语言

需积分: 50 1 下载量 191 浏览量 更新于2024-10-20 收藏 1.5MB PDF 举报
"C_Sharp_教程中文版.pdf" 这篇PDF教程详细介绍了C#编程语言,旨在帮助初学者和有经验的程序员理解并掌握C#语言的基础及高级特性。C#是一种由微软公司推出的、用于.NET框架的现代、类型安全且面向对象的编程语言。它在设计时考虑了简洁性、效率和可维护性,使其成为开发Windows应用程序、Web应用以及游戏等的理想选择。 教程的第一部分主要介绍C#语言概述。第一章讲解了.NET编程语言的概念,指出C#是.NET框架中的关键语言之一,它与.NET的关系以及C#语言的主要特点,如类型安全、面向对象和现代编程范式。第二章深入讨论.NET运行环境,包括.NET结构、公共语言运行时(CLR)和公共语言规范,还涵盖了开发工具如Visual Studio的使用。 第三部分开始,教程逐步引导读者实践C#编程。第三章演示如何编写并运行第一个C#程序,解释了代码的基本结构,并介绍了如何添加注释。接下来的几章围绕C#的基础语法展开,包括第四章的数据类型(值类型和引用类型)、第五章的变量和常量、第六章的类型转换(隐式和显式转换),以及第七章的表达式和操作符。 第八章流程控制部分涵盖了条件语句(如if-else)、循环语句(如for、while和do-while)以及异常处理和条件编译,这些都是编写控制程序执行流程的关键元素。 进入第三部分,教程开始讲解C#的核心特性——面向对象编程。第九章阐述了面向对象编程的基本概念,如封装、继承和多态,并介绍了相关的分析和设计方法。第十章至第十三章详细介绍了类、方法、域和属性、事件以及索引器的用法,这些都是构建复杂对象模型的关键元素。 总结,这份C#教程全面覆盖了语言的基础到高级主题,适合初学者和希望深化C#知识的开发者。通过学习,读者将能够熟练掌握C#编程,从而有效地开发各种类型的应用程序。

from pdb import set_trace as st import os import numpy as np import cv2 import argparse parser = argparse.ArgumentParser('create image pairs') parser.add_argument('--fold_A', dest='fold_A', help='input directory for image A', type=str, default='./dataset/blurred') parser.add_argument('--fold_B', dest='fold_B', help='input directory for image B', type=str, default='./dataset/sharp') parser.add_argument('--fold_AB', dest='fold_AB', help='output directory', type=str, default='../dataset/out') parser.add_argument('--num_imgs', dest='num_imgs', help='number of images',type=int, default=1000000) parser.add_argument('--use_AB', dest='use_AB', help='if true: (0001_A, 0001_B) to (0001_AB)',action='store_true') args = parser.parse_args() for arg in vars(args): print('[%s] = ' % arg, getattr(args, arg)) splits = os.listdir(args.fold_A) for sp in splits: img_fold_A = os.path.join(args.fold_A, sp) img_fold_B = os.path.join(args.fold_B, sp) img_list = os.listdir(img_fold_A) if args.use_AB: img_list = [img_path for img_path in img_list if '_A.' in img_path] num_imgs = min(args.num_imgs, len(img_list)) print('split = %s, use %d/%d images' % (sp, num_imgs, len(img_list))) img_fold_AB = os.path.join(args.fold_AB, sp) if not os.path.isdir(img_fold_AB): os.makedirs(img_fold_AB) print('split = %s, number of images = %d' % (sp, num_imgs)) for n in range(num_imgs): name_A = img_list[n] path_A = os.path.join(img_fold_A, name_A) if args.use_AB: name_B = name_A.replace('_A.', '_B.') else: name_B = name_A path_B = os.path.join(img_fold_B, name_B) if os.path.isfile(path_A) and os.path.isfile(path_B): name_AB = name_A if args.use_AB: name_AB = name_AB.replace('_A.', '.') # remove _A path_AB = os.path.join(img_fold_AB, name_AB) im_A = cv2.imread(path_A, cv2.IMREAD_COLOR) im_B = cv2.imread(path_B, cv2.IMREAD_COLOR) im_AB = np.concatenate([im_A, im_B], 1) cv2.imwrite(path_AB, im_AB),运行上述代码,提示错误:NotADirectoryError: [WinError 267] 目录名称无效。: 'D:\Users\Administrator\PycharmProjects\pythonProject\DeblurGAN-master\datasets\blurred\1.jpg'

2023-06-10 上传