main参数的含义

main函数两个参数的意义

例如
int main(int argc,char *argv[])
{

}

int main(int argc,char **argv)
{

}

编译链接后生成 a.exe,那么在命令行调用时如 a.exe -a1 -a2
则a.exe是要运行的程序名
 -a1 是第一个参数
 -a2 是第二个参数
 这两个参数通过 argc 和 argv 传入程序 这些参数都是字符串
 
 通过上面的调用程序中 argc=3
 a.exe 是第一个参数 这个字符串保存在 argv[0]中,
 a1 和 a2 分别是第二个和第三个参数,分别保存在argv[1]和argv[2]中
 注:
    main的第二个参数应该是一个字符数组指针
    int main(int argc,char *argv[]) 第二参:字符数组指针    
    int main(int argc,char **argv)  第二参:指向字符的指针的指针(字符串数组)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`GetCustomAttributes()` 方法有两个参数,它们的含义如下: 1. `type`: 指定要获取的自定义属性的类型。可以传递 `typeof()`,表示获取所有自定义属性;或者传递一个具体的自定义属性类型,表示只获取这个类型的自定义属性。 2. `inherit`: 指定是否搜索继承链来获取自定义属性。如果为 true,则搜索继承链;否则只搜索当前类型。 例如,下面是一个示例: ```csharp [MyAttribute("Test")] class MyBaseClass { } class MyClass : MyBaseClass { } class Program { static void Main(string[] args) { var myAttribute1 = (MyAttribute)Attribute.GetCustomAttribute(typeof(MyBaseClass), typeof(MyAttribute), false); Console.WriteLine(myAttribute1?.Name); // Output: Test var myAttribute2 = (MyAttribute)Attribute.GetCustomAttribute(typeof(MyClass), typeof(MyAttribute), false); Console.WriteLine(myAttribute2?.Name); // Output: null var myAttribute3 = (MyAttribute)Attribute.GetCustomAttribute(typeof(MyClass), typeof(MyAttribute), true); Console.WriteLine(myAttribute3?.Name); // Output: Test } } [AttributeUsage(AttributeTargets.Class)] public class MyAttribute : Attribute { public string Name { get; set; } public MyAttribute(string name) { Name = name; } } ``` 在上面的示例中,我们定义了一个 `MyAttribute` 类来表示一个自定义属性。我们在 `MyBaseClass` 类上应用了这个自定义属性,然后 `MyClass` 类继承自 `MyBaseClass` 类。在 `Main` 方法中,我们使用 `GetCustomAttributes()` 方法来获取 `MyBaseClass` 类和 `MyClass` 类上的 `MyAttribute` 自定义属性,分别传递不同的 `inherit` 参数。最终输出结果为 `Test` 和 `null`,因为在 `MyClass` 类上没有直接应用 `MyAttribute` 自定义属性,只有通过继承间接应用了这个自定义属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值