
using 指令有两个用途:
允许在命名空间中使用类型,这样,您就不必在该命名空间中限定某个类型的使用:
复制代码
using SystemText;
为命名空间或类型创建别名。这称为“using 别名指令”。
复制代码
using Project = PCMyCompanyProject;
using 关键字还用来创建 using 语句,此类语句有助于确保正确处理 IDisposable 对象(如文件和字体)。有关更多信息,请参见 using 语句。
备注
using 指令的范围限制为包含它的文件。
创建 using 别名,以便更易于将标识符限定到命名空间或类型。using 别名指令的右侧必须始终是一个完全限定类型,而与前面的 using 指令无关。
创建 using 指令,以便在命名空间中使用类型而不必指定命名空间。using 指令不为您提供对嵌套在指定命名空间中的任何命名空间的访问。
命名空间分为两类:用户定义的命名空间和系统定义的命名空间。用户定义的命名空间是在代码中定义的命名空间。若要查看系统定义的命名空间的列表,请参见 NET Framework 类库参考。
有关引用其他程序集中的方法的示例,请参见创建和使用 C# DLL。
示例 1
说明
下面的示例显示了如何为命名空间定义和使用 using 别名:
代码
C# 复制代码
namespace PC
{
// Define an alias for the nested namespace
using Project = PCMyCompanyProject;
class A
{
void M()
{
// Use the alias
ProjectMyClass mc = new ProjectMyClass();
}
}
namespace MyCompany
{
namespace Project
{
public class MyClass { }
}
}
}
注释
using 别名指令的右侧不能有开放式泛型类型。例如,不能为 List<T> 创建 using 别名,但可以为 List<int> 创建。
示例 2
说明
下面的示例显示了如何为类定义 using 指令和 using 别名:
代码
C# 复制代码
using System;
// Using alias for a class
using AliasToMyClass = NameSpace1MyClass;
namespace NameSpace1
{
public class MyClass
{
public override string ToString()
{
return "You are in NameSpace1MyClass";
}
}
}
namespace NameSpace2
{
class MyClass
{
}
}
namespace NameSpace3
{
// Using directive:
using NameSpace1;
// Using directive:
using NameSpace2;
class MainClass
{
static void Main()
{
AliasToMyClass somevar = new AliasToMyClass();
ConsoleWriteLine(somevar);
}
}
}
// Output: You are in NameSpace1MyClass
SQL中是没有USING的,我想你指的是PL/SQL吧。
他是给bind变量传入值用的,比如:
for
i2
in
11000
loop
execute
immediate
'select
from
tablex
where
id=:1'
using
i2;
end
loop;
这个语句被执行1000次,每次查询条件不一样,但是该语句只被parse一次
你是说的是using的用法么??
mysql中using的用法为:
using()用于两张表的join查询,要求using()指定的列在两个表中均存在,并使用之用于join的条件。
示例:
select a, b from a left join b using(colA);
等同于:
select a, b from a left join b on acolA = bcolA;
V_SQLSTR
:=
'INSERT
INTO
'
||
V_TABLENAME
||
'('
||
'
SELECT
DISTINCT
KBP,KPI_NO,DCTIME,:1
WRITETIME,TO_NUMBER(VALUE)
'
||
'
FROM
BIZMAN_PM_TEMP
)';
这是一个动态的SQL,即通过EXECUTE
IMMEDIATE来执行一个字符串的SQL,而这里面通过冒号开头的是参数,EXECUTE
IMMEDIATE后边USING的顺序就是里面参数的顺序。您这里面对应的就是:1,即把V_CURRENTTIME的值代入到冒号1的位置,执行这个插入语句。
USING
OUT:如果动态SQL中有一个过程,而该过程的有个OUT
参数,此时就可以用USING
OUT
的方式
c#中,using 关键字有两个主要用途:
作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。
1、引入命名空间,如using SystemIO;
2、为命名空间或类型创建别名。这称为“using 别名指令”。
如using Project = PCMyCompanyProject;
作为语句,用于定义一个范围,在此范围的末尾将释放对象。
如你的代码using (FileStream output = FileCreate("binarydatadat"))
{
} 用完之后output会自动释放,等效于outputclose();
在数据库中, 常用的一个流水编号通常会使用 identity 栏位来进行设置, 这种编号的好处是一定不会重覆, 而且一定是唯一的, 这对table中的唯一值特性很重要, 通常用来做客户编号, 订单编号等功能, 以下介绍关于此种栏位常用方式及相关技术
CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40))
取得identity值:
因为 identity 特性, 所以在 insert into 该 table 时, 不能指定该 identity 栏位值, 仅能指定其他栏位值, 而 identity 由资料库维护, 所以一般要在 insert 后取得该 identity 栏位值, 则通常使用下面方式:
利用全局变量 @@identity 来取得最后影响的 insert 后产生的 identity 值, 如此一来便能方便地使用 identity 栏位
若要启用识别插入(identity insert)时, 也就是如空缺号要指定 identity 栏位值时, 或者是处理资料表整理或备出时, 会用到的方式:
set identity_insert products on
insert into products (id, product)values(12, 'screwdriver')
要注意的地方是可以 insert 空缺号, 也可以加至最后, 但系统会自动更新 identity 至最大值, 要注意一旦启用 identity_insert 时, 就一定要给定 identity 值, 另外并不能 update 该 identity 栏位值, 也就是说 identity_insert 该 identity 栏位仅 for insert, 不能 update
查询目前 identity 值:
有时我们需要查询目前 table 中该 identity 栏位最大值是多少时, 可以利用 dbcc 指令, 如下:
dbcc checkident('product', NORESEED)
可以获得目前最大值的结果
重设目前最大 identity 值:
一样利用 dbcc 指令, 如下:
dbcc checkident('product',RESEED,100)
如此一来, 便能将目前的最大 identity 值指向100, 当然若故意设比目前最大值小时, 系统仍会接受, 但若 identity 遇上重覆资料时(如将 identity 设为 primary key时), 将会发生重大问题, 该 table 变成无法 insert 资料, 因为会发生 primary key violation, 解决方法当然就是将目前的 identity 修复, 直接使用
dbcc checkident('products', RESEED)
或
dbcc checkident('products')
以上就是关于c# 中using 关键字都有哪些用法全部的内容,包括:c# 中using 关键字都有哪些用法、SQL语句的using到底什么用法、Database需要什么using指令,急用,谢谢了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)