ref相关内容

为什么在传递对象时使用 'ref' 关键字?

如果我将对象传递给方法,为什么要使用 ref 关键字?这难道不是默认行为吗? 例如: 类程序{静态无效主要(字符串 [] 参数){TestRef t = 新的 TestRef();t.Something = "Foo";做某事(t);Console.WriteLine(t.Something);}静态公共无效 DoSomething(TestRef t){t.Something = "酒吧 ..
发布时间:2022-01-31 15:55:50 C#/.NET

为什么不能将带有 byref 的函数直接转换为委托?

在正常情况下,F# 函数可以通过调用 new DelegateType 并将函数作为参数传入来转换为委托.但是当委托包含 byref 参数时,这是不可能的.例如代码: type ActionByRef;= 'a byref -> 的代表单元让 f (x:double byref) =x (f) 无法编译,出现以下错误: 这个函数值被用来构造一个委托类型,它的签名包含一个 byref 参数 ..
发布时间:2022-01-18 12:50:01 其他开发

“ref"和“out"关键字有什么区别?

我正在创建一个函数,我需要在其中传递一个对象,以便该函数可以对其进行修改.有什么区别: public void myFunction(ref MyClass someClass) 和 public void myFunction(out MyClass someClass) 我应该使用哪个,为什么? 解决方案 ref 告诉编译器对象在进入函数前已经初始化,而 out 告诉编译器对象 ..
发布时间:2022-01-05 11:37:18 C#/.NET

F# 成员约束 + ^a byref 参数

在玩弄 F# 成员约束功能并编写如下函数后: 让内联解析 ^a) >s =(^a: (静态成员解析:字符串 -> ^a) s) 效果很好: let xs = [ "123";"456";“999"] |>List.map 解析 我正在尝试编写其他 func tryParse,它使用静态方法 TryParse 并将解析结果包装到 'a option 类型中更好地支持 F#.这样的东西不能编译 ..
发布时间:2022-01-05 09:58:53 其他开发

“出"的目的是什么?调用方的关键字(在 C# 中)?

当一个 C# 函数有一个输出参数时,你要明确如下: private void f(out OutputParameterClass outputParameter); 这表明在调用函数时不必初始化参数.但是,在调用这个函数时,必须重复out关键字: f(out outputParameter); 我想知道这有什么用.为什么需要重复部分功能规范?有人知道吗? 解决方案 我得到的最佳答 ..
发布时间:2021-12-29 19:53:16 C#/.NET

在 Moq 中分配输出/引用参数

是否可以使用 Moq (3.0+) 分配 out/ref 参数? 我已经考虑过使用 Callback(),但是 Action 不支持 ref 参数,因为它基于泛型.我还希望在 ref 参数的输入上设置一个约束 (It.Is),尽管我可以在回调中做到这一点. 我知道 Rhino Mocks 支持此功能,但我正在从事的项目已经在使用 Moq. 解决方案 Moq 4.8 版(或更高版 ..
发布时间:2021-12-29 19:31:42 C#/.NET

为什么在传递对象时使用“ref"关键字?

如果我将对象传递给方法,为什么要使用 ref 关键字?这不是默认行为吗? 例如: class 程序{静态无效主(字符串 [] args){TestRef t = new TestRef();t.Something = "Foo";做某事(t);Console.WriteLine(t.Something);}静态公共无效 DoSomething(TestRef t){t.Something ..
发布时间:2021-12-02 13:32:25 C#/.NET

获取对数组内部结构的引用

我想修改数组内结构的字段,而不必设置整个结构.在下面的示例中,我想在数组中设置元素 543 的一个字段.我不想复制整个元素(因为复制 MassiveStruct 会影响性能). P 类{结构体{公共国际;公共 MassiveStruct b;}void f(ref S s){s.a = 3;}public static void Main(){S[] s = 新 S[1000];f(参考文献[5 ..
发布时间:2021-11-18 03:55:50 C#/.NET

如何使用反射获取带有 ref 关键字的方法?

是的,所以我设置了一个小 TestClass 来弄清楚 GetMethod 可以实际找到方法 Test(ref int i).但到目前为止没有任何效果. [Button(nameof(Method))]公共布尔值;私人无效测试(ref int i){Debug.Log("作品");}私有无效方法(){Type[] 类型 = { typeof(int) };MethodInfo methodInf ..
发布时间:2021-07-05 20:38:04 C#/.NET

通过引用传递reference-type 表示将被修改

我在我们的应用程序中发现了一些代码,通过引用传递一个 List 以指示它被修改: void DoSomething(ref List theList){theList.Add(new MyType());} 我认为很明显在这种情况下 ref-keyword 已经过时了,因为我们也可以在没有关键字的情况下向列表中添加新元素.然而,它表明我们修改了列表或至少它的元素.如果您有很多参数并且想查看其中 ..
发布时间:2021-07-05 20:38:01 C#/.NET

在 C# 中使用 ref

我正在尝试编写一个包含两个类的基本程序.我可以用一个班级来管理: public static void Main (string[] args){双半径;双高;双倍体积;{System.Console.WriteLine("输入半径");半径 = double.Parse(System.Console.ReadLine());System.Console.WriteLine(半径);Syste ..
发布时间:2021-07-05 20:37:59 C#/.NET

没有参考的 React 中的 ScrollIntoView?

我需要以编程方式创建一个很大的项目/div列表,我需要为每个项目/div实现scrollIntoView按钮.我知道如何使用 refs. 是否有可能更高效的 refs 替代方案? 解决方案 我相信这样的事情会奏效: onScrollClick(ev) {ev.target.scrollIntoView();}使成为() {返回 (... ..
发布时间:2021-07-05 20:37:56 前端开发