用C#中的*(星形)符号包围变量/参数的目的是什么?

用C#中的*(星形)符号包围变量/参数的目的是什么?,c#,.net,stripe-payments,stripe.net,C#,.net,Stripe Payments,Stripe.net,我在中看到了这行代码 而且 StripeCard stripeCard = cardService.Create(*customerId*, myCard); 但我以前从未见过被*(星形)符号包围的变量/参数。这有什么特别的作用吗?这是一个.NET的东西吗?什么事 谢谢mucho 我记得*和**在python中用作args和kwargs,在C中用作指向var(*)的指针或指向var(**)的指针。在C中没有任何意义,所以我假设Stripe用它来表示你应该把你的tokenId和customerI

我在中看到了这行代码

而且

StripeCard stripeCard = cardService.Create(*customerId*, myCard);
但我以前从未见过被*(星形)符号包围的变量/参数。这有什么特别的作用吗?这是一个.NET的东西吗?什么事

谢谢mucho


我记得*和**在python中用作args和kwargs,在C中用作指向var(*)的指针或指向var(**)的指针。

在C中没有任何意义,所以我假设Stripe用它来表示你应该把你的
tokenId
customerId
放在它们的位置上。

它们想通过在*之间放置一些东西来吸引你的注意力

e、 g


他们只想让你用“选项”

替换一个有效值。不,这肯定意味着什么,意味着它无法编译。星号不能在“不安全”之外使用,即使这样,也不能在变量后面使用星号。确切地说,星号没有任何意义。这是用您的特定值替换
*tokenId*
*customerId*
的指示。感谢Steve,昨天没有实际测试代码,只是好奇这是否是我以前没有见过的东西。我的错。你自己试过看会发生什么吗?@AlexeiLevenkov我想,如果人们认为编译错误在C#中的特定情况下使用,那么看到编译错误就不会太有用了。至少,它可能会在不安全的代码(第一个星号)中工作,但这不是问题中所表示的。
StripeCard stripeCard = cardService.Create(*customerId*, myCard);
var requestOptions = new StripeRequestOptions();
requestOptions.ApiKey = *optional*;              // this is not required unless you choose to pass the apikey on every service call
requestOptions.IdempotencyKey = "some string";   // this is for Idempotent Requests - https://stripe.com/docs/api?lang=curl#idempotent_requests
requestOptions.StripeConnectAccountId = "acct_*" // if you are using Stripe Connect and want to issue a request on the connected account