小编Dar*_*rke的帖子

自实现字典,但以自定义类作为关键

我正在做一个练习来帮助我理解和学习泛型的使用,以及对接口和接口继承的理解。这是通过实现和使用我自己的类来完成的。

我认为我已经1成功完成了部分工作(遵循教程),并且能够毫无问题地进行散列并添加到我的字典中。如果解决方案中有我遗漏的部分,1请随时告诉我。

第二部分是主要问题。根据我的理解,我应该让钥匙是 一个城市的latitude和。longitude我自己的 Dictionary 实现Dict是这样的,Dict<K, V>所以键不可能有 2 个值。

我认为这就是struct可以进来并传递 mystruct作为密钥,同时存储latitude和 的值的地方longitude

下面我将尝试概述练习描述和要求,以使我的问题更容易理解。


该练习有 2 个部分

第1部分

在这一部分中,您将创建自己的类来实现 IDictionary<K,V>。

为了实现 IDictionary<K,V> 您必须实现 ICollection 和 IEnumerable 接口。

不允许您使用C#Dictionary 实现作为委托,因为这会使练习变得无关紧要。

第2部分

我们希望使用最近创建的 Dictionary 类将纬度和经度值映射到其匹配的城市。

键本身应该是一个表示由 a和 aGeoLocation组成的类。制作所有必要的函数和运算符重载,以便可以使用此类作为 Dictionary 类的键latitudelongitude


代码

字典

 public class Dict<K, V>:IEnumerable<KeyValuePair<K,V>>
    {
        private const int INI_Size = 16;
        LinkedList<KeyValuePair<K, V>>[] values; …
Run Code Online (Sandbox Code Playgroud)

c# generics inheritance dictionary interface

6
推荐指数
1
解决办法
648
查看次数

从函数更新小部件的绘制装饰

我现在有一个更新当前用户位置的功能,效果很好。问题是绘制的指针保持在那个确切的位置,因为装饰在小部件内部绘制一次并且永远不会改变。

我已经了解了 Google 如何使用标记对象来实现这一点,但这似乎对我的应用程序不起作用,因为我没有使用法线地图。

 void updateLocationPin(LocationData newLocalData, Uint8List imageData){
     LatLng latLng = LatLng(newLocalData.latitude!, newLocalData.longitude!);
     this.setState(() {
      /* marker = Marker(
         markerId: MarkerId("home"),
         position: latLng,
         rotation: 0.5,
         draggable: false,
         flat: true,
         zIndex: 2,
         anchor: Offset(0.5, 0.5),
         icon: BitmapDescriptor.fromBytes(imageData)
       );*/
       xPosition = latLng.longitude; 
       yPosition = latLng.latitude; 
       ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text("Position: ${xPosition}, ${yPosition}"), duration: Duration(milliseconds: 5000), ), );
     });
   }

  @override
  Widget build(BuildContext context) {
    var dpr = MediaQuery.of(context).devicePixelRatio;
    return Scaffold(
      body: SafeArea(
        child: Stack(
          children: [
            GestureDetector(
              child: InteractiveViewer(
                transformationController: controller,
                constrained: …
Run Code Online (Sandbox Code Playgroud)

widget dart flutter

5
推荐指数
1
解决办法
102
查看次数

标签 统计

c# ×1

dart ×1

dictionary ×1

flutter ×1

generics ×1

inheritance ×1

interface ×1

widget ×1