问题标签 [trygetvalue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 即使键存在,TryGetValue 也会返回 Null?
我有几个字典对象被梳理以获取一个值,但它们都返回 null,即使当我检查它们是否包含键时,具有键的对象返回 true。我还可以使用 foreach 遍历每个以获取基于该键的值....我迷路了
奇怪的是它曾经可以工作……我不确定是什么阻止了它
javascript - 在 Dynamics CRM Online 中获取 HTML Web 资源的价值
我正在尝试将 Dynamics CRM 中的值转换为 HTML 网络资源。我发现了这个并试图从中提取代码:
https://msdn.microsoft.com/en-us/library/jj602964(v=crm.7).aspx
它说用来var nameValue = Xrm.Page.getAttribute("name").getValue();
把它拿出来。
我的代码是(警报只是为了尝试它是否获得正确的值):
单击“尝试”时没有任何反应!我究竟做错了什么?
谢谢,约翰内斯
c# - 如何避免更新字典搜索的项目?
在 .NET Winfroms C# 应用程序中,我有一个名为 listItems 的 Dictionary 集合。我在应用程序启动时将数据存储在其中。在静态类中,我有以下内容:
为了从另一个类的 listItems 中检索项目,我使用:
上面发生的情况是,我搜索一个项目并得到它“ refScannedItem
”,然后我将它的描述附加到"BOX of " + boxItem.Quantity + " " + refScannedItem.Description;
. 因此,如果原始描述是“Aquafina”,我将其设为“BOXof 10 Aquafina”。嵌套时间我扫描相同的产品,我找到了产品,但现在它的描述变成了“10 盒 Aquafina”,所以我的设置描述线变成了“10 盒 10 盒 Aquafina”。类似“10 盒 10 盒 10 盒 Aquafina”等等。
正如您在我的查找代码中看到的那样,我最初使用TryGetValue
,然后尝试使用LINQ
,然后尝试使用ContainsKey
,但在所有这些中,为什么 listItem 的值会被更新。
我知道 asTryGetValue
有out
参数,所以值作为 a 传递reference
,然后它将被更改。但listItems[key]
也在更新它!我怎样才能避免这种情况发生?我选择了Dictionary
集合以便于快速搜索,但这部分在我的应用程序上也带来了很多问题和一个大错误。我找不到接收值但不应该更新的解决方案。所有文章都显示了如何搜索和更新它。
请为上述问题提出解决方案。非常感谢任何帮助。
谢谢
c# - specify type of delegate parameter
im trying to use TryGetValue
.
to Invoke a delegate inside Method
i use dictionary to select one delegate and then Invoke it.
the dictionary type is
and the action type is
So here it seems i can not declare action
in delegate parameter correctly.
Compiler expects out
be type of Action<Mesh>
but how can i set the action
type?
before using TryGetValue
i used dictionary normally
but because sometimes i got error for Key not found so i decided to use TryGetValue
this is the code without TryGetValue and works fine if all Keys find.
Edit: note that action
is nothing outside delegate. i just want to send parameter inside TryGetValue and use its resault.
and here is the Method
c# - 为什么这个方法带有一个'out'参数说它没有设置?
啊!好吧,我将把它作为一个问题发布,因为我不知道为什么我会看到这个错误......但当然,当我看到它时,它现在是如此明显。现在拍自己的头。不过,我会把它留在这里取乐。看看你能不能抓住它。
今晚在为 WeakDictionary 类实现 TryGetValue 时,我遇到了一些奇怪的事情。我收到一个错误,我不知道为什么。
这是代码:
这是我得到的错误:
在控制离开当前方法之前,必须分配 out 参数“值”。
在我看来,所有代码路径在返回之前都设置了“值”。
如果第一个“if”失败,则“else”子句设置“value”。
但是,如果第一个“if”通过,则下一行“weakReference.TryGetTarget”是否设置了“值”,原因与我被警告的完全相同(即“TryGetTarget”本身有一个“out”参数,因此它也必须在返回之前在内部设置其 out 参数)?
就像我说的,我遗漏了一些明显的东西。(我需要睡觉!)
c# - bool TryGetX(out X x) 模式的替代方案
我经常使用该模式
当我需要从可能失败的服务中获取数据时。当客户端和服务在尝试检索数据之前都不知道数据是否可用时,我会使用它。我从来没有对以这种方式使用out参数感到完全满意,而且我从其他 SO 问题中看到它被认为是一种糟糕的模式。
但是,我还没有看到一个令人信服的替代 API,它可以向客户端提示他们的方法调用实际上可能不会返回数据。
我考虑过的替代方案:
X GetX(),如果服务无法提供请求的数据,则GetX()将返回null 。我不喜欢这样做,因为很多人不清楚他们需要检查是否返回null。考虑到我在处理过的遗留代码中遇到的空引用异常的数量,人们经常忽略空检查,并且用户会看到一个丑陋的异常框。至少TryGetX方法对客户端来说是清楚的,数据可能不会被返回。即使他们确实检查了 null,是否在任何地方都需要if (x == null)真的比TryGetX(out X x)更好?
Try/Catch,如果无法返回数据, GetX()会抛出异常。同样,客户可能没有意识到GetX()会引发异常,即使他们这样做了,您也会在代码周围散布 Try/Catches。
GetXResult GetX(),其中GetXResult类有两个属性:bool Success和X x。这可能是我首选的替代方案,但是我有很多结果类在四处飘荡,使我的项目变得混乱。
返回数据但可能无法返回请求的数据的方法的最佳方法是什么?
c# - 从键中使用 TryGetValue 并添加未按预期工作
我有这段代码可以从字典中检索一个值(整数数组)然后根据它所在的 if 语句递增整数数组中的一个元素。
现在我遇到的问题是,每当我将修改后的 OutOfDic 数组读回字典中指定键的值部分时,字典中的每个值也会被修改,而不仅仅是我指定的键。注释部分给出与未注释部分相同的结果。如何解决此问题以仅将值添加到指定的键?
c# - 在字典 TryGetValue 中,如果它是类的一部分,我如何编写 out 参数(并获取它的值)?
过去的问题线程和完整过去代码的链接在这里
我用一个参数类创建我的字典,以便它可以保存两个string
值。现在我正在尝试将 a 写入TryGetValue
此类out
中的两个字符串:
如您所见,有theDescription
和theClass
嵌套在DictionarySetup
. 然后我会在这里使用该类创建字典:
然后,我打算TryGetValue
在字典上使用我的扩展方法:
最后,我在我的事件中调用扩展方法,如下所示:
c# - 少错 TryGetValue 然后空检查语法
我对 C# 还是有点陌生……我发现自己一遍又一遍地重用一个特定的过程。在我为个人懒惰写一个辅助方法之前,有没有更短或更错误的方法来写这种语句?
本质上,通过尝试获取值来设置对象的属性,然后如果它为空,则使用默认值。我有很多属性,如果我可以就更好了
同样,我完全有能力编写自己的辅助函数。在此之前,我正在寻找现有的本机功能或速记。
c# - 即使存在键,TryGetValue 也评估为 False
这个问题与这个问题基本相同,尽管那个人的问题的答案原来是一个简单的尾随空格。
我的问题是我正在从 Web API 作为字典检索数据,然后尝试从中获取值。我正在使用TryGetValue
,因为并非字典中的每个项目都必然包含每个键。出于某种原因,虽然我可以在一个键存在时毫无问题地获得它的值,但另一个键TryGetValue
总是评估为假,因此不会返回该值,即使我可以在调试中看到该键存在.
因此,此块始终检索“System.Description”键的值(如果存在):
但是,这个几乎相同的块永远不会检索“CustomScrum.RoadmapGroup”键的值:
正如您在此屏幕截图中看到的那样,字典确实包含一个名称与我的TryGetValue
语句完全匹配的键:
如果我在TryGetValue
语句评估为 true ( feature.Description = descriptionValue;
) 时应该运行的代码上设置断点,则它永远不会被命中。
对于字典中的每个项目,该feature.RoadmapGroup
变量都设置为 0。
至少在过去的两个小时里,我一直盯着这个,我看不出我做错了什么。